Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методические_рекомендации_Методы_оптимизации

.pdf
Скачиваний:
106
Добавлен:
10.02.2015
Размер:
1.1 Mб
Скачать

Московский государственный технический университет

имени Н.Э. Баумана

Факультет «Информатика и системы управления»

Кафедра «Информационная безопасность»

М.А. Басараб, С.В. Вельц

МЕТОДЫ ОПТИМИЗАЦИИ И

ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

В ИНФОРМАЦИОННОЙ

БЕЗОПАСНОСТИ

Методические указания к лабораторным работам по дисциплине «Методы оптимизации»

для студентов направления 0903010065 – Компьютерная безопасность

Москва

(С) 2013 МГТУ им. Н.Э. БАУМАНА

2

УДК 519.8

Рецензент: доц., к.т.н. Юрий Тихонович Каганов

Басараб М.А., Вельц С.В.

Методы оптимизации и исследование операций в информационной безо-

пасности. М.: МГТУ имени Н.Э. Баумана, 2013. 46 с.

Методические указания являются руководством для выполнения лабора-

торных работ по дисциплине «Методы оптимизации и исследование опера-

ций». Они охватывают такие разделы теории оптимизации и исследования опе-

раций как линейное программирование и элементы теории игр.

Пособие предназначено для студентов МГТУ имени Н.Э. Баумана, обу-

чающихся по специальности 0903010065 «Компьютерная безопасность». Мо-

жет быть также полезна студентам и аспирантам других специальностей, инте-

ресующимся современными методами решения задач теории оптимизации и исследования операций.

Рекомендовано НМС МГТУ им. Н.Э. Баумана

Басараб Михаил Алексеевич

Вельц Сергей Владимирович

МЕТОДЫ ОПТИМИЗАЦИИ И ИССЛЕДОВАНИЕ ОПЕРАЦИЙ

ВИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ

©2013 МГТУ имени Н.Э. Баумана

Басараб М.А., Вельц С.В. Методы оптимизации и исследование операций в информационной безопасности

3

Оглавление

Введение....................................................................................................................................

4

1

Лабораторная работа № 1: Линейное программирование. Симплекс-метод .................

5

2

Лабораторная работа № 2: Двойственность в линейном программировании ..............

15

3

Лабораторная работа № 3: Целочисленное линейное программирование. Метод ветвей

и границ ...................................................................................................................................

20

4

Лабораторная работа № 4: Булево программирование. Метод Балаша .......................

26

5

Лабораторная работа № 5: Матричные игры с нулевой суммой. Смешанные страте-

гии ...........................................................................................................................................

32

6

Лабораторная работа № 6: "Игры с природой". Критерии принятия решений ...........

41

Список литературы ...............................................................................................................

46

Басараб М.А., Вельц С.В. Методы оптимизации и исследование операций в информационной безопасности

4

Введение

При решении производственных, управленческих, организационно-технических и др. задач в области информационной безопасности часто приходится иметь дело с проблемой выбора одного варианта (оптимального или квазиоптимального) среди множества альтернативных решений [1-3].

В зависимости от целевой функции и характера ограничений такого рода задачи можно условно разбить на два типа:

1.Задачи оптимизации. Предполагается, что ограничения известны, и необходимо найти экстремальное решение, доставляющее минимум либо максимум функционалу того или иного вида. Задачи конечномерной оптимизации с одной целевой функ-

цией называются также задачами математического программирования.

2.Принятие решений в условиях неопределенности (задачи теории игр). Поиск оптимального решения (стратегии) осуществляется при априори неизвестных действиях другого игрока (игроков), имеющего собственные интересы, либо состояниях внешней среды («игра с природой»).

Лабораторный практикум включает в себя работы по решению задач линейного программирования, принятия решений в условиях неопределѐнности, теории матричных игр. Значительный объем занимает изложение симплекс-метода решения задач линейного программирования, так как к этим задачам сводятся решения ряда других проблем (целочисленное программирование, матричные игры в смешанных стратегиях).

Ряд работ имеет содержательную интерпретацию в области информационной безопасности [3], как, например, выбор оптимального набора средств безопасности (задача о покрытии), моделирование действии инсайдера (матричная игра).

При выполнении лабораторных работ целесообразно воспользоваться либо готовыми программными пакетами математического моделирования (Matlab, MathCAD), электронными таблицами (MS Excel) либо собственными программами, написанными на языке программирования высокого уровня. В последнем случае программа может реализовать не полное решение задачи, а какой-либо вспомогательный шаг всей процедуры (один шаг жордановых исключений в симплекс-методе).

При подготовке отчета по каждой лабораторной работе необходимо последовательно и полно представить все основные шаги метода (алгоритма) с выводом промежуточных результатов и необходимыми комментариями, демонстрирующими понимание сути процедуры. Студент должен быть знаком с таким понятием, как вычислительная сложность метода, уметь провести качественный анализ его с другими методами, быть способным лаконично ответить на предложенные ему контрольные вопросы.

Басараб М.А., Вельц С.В. Методы оптимизации и исследование операций в информационной безопасности

5

1 Лабораторная работа № 1

Линейное программирование. Симплекс-метод

Цель работы

Изучение симплекс-метода решения задачи линейного программирования (ЛП).

Постановка задачи и методические указания

 

Постановка задачи ЛП. Требуется найти решение следующей задачи:

 

 

 

 

F = cx min,

 

 

 

 

Ax ≤ b,

(1.1)

 

 

 

x ≥ 0.

 

Здесь

x [x , x ,..., x ]T

– искомый вектор решения;

 

 

1 2

n

 

 

c [c1 , c2 ,..., cn ] – вектор коэффициентов целевой функции (ЦФ) F;

a11 ...

A ... ...

 

 

 

a

m1

...

 

 

a1n

... – матрица системы ограничений;

a

mn

b [b , b ,..., b ]T

– вектор правой части системы ограничений.

 

1 2

m

 

 

 

 

 

 

 

 

 

В развернутой форме задача (1.1) имеет вид (1.2) – (1.4)

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

F ci xi min ,

 

(1.2)

 

 

 

 

 

i 1

 

 

 

 

 

 

 

a11 x1

a12 x2

... a1n xn

b1

 

 

 

 

 

a22 x2

... a2n xn

b2

 

 

 

a21 x1

(1.3)

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

x

a

x

... a

x

 

b

 

 

 

m1

1

 

m2 2

mn

n

 

m

 

 

 

 

 

( xi

0 , i 1,..., n ).

 

(1.4)

Каноническая форма задачи ЛП.

Систему неравенств (1.3) можно преобразовать в сис-

тему линейных алгебраических уравнений (СЛАУ) посредством прибавления к левой

части каждого неравенства неотрицательных дополнительных переменных xn i

0

( i 1,..., m ):

 

Басараб М.А., Вельц С.В. Методы оптимизации и исследование операций в информационной безопасности

6

n m

 

 

F c j x j min ,

(1.5)

j 1

 

 

n m

 

 

aij x j

bi , i 1, 2,..., m,

(1.6)

j 1

 

 

x j 0 ,

j 1,..., n m .

(1.7)

При записи задачи ЛП в канонической форме (1.5) – (1.7) возможны следующие варианты:

1.Число линейно независимых уравнений больше числа переменных. Такая СЛАУ несовместна.

2.Число независимых уравнений равно числу переменных. СЛАУ имеет един-

ственное решение (это решение будет либо недопустимым, если хотя бы од-

на из его компонент отрицательна, либо искомым оптимальным).

3.Число линейно независимых уравнений равно m, а число переменных равно n m. При совместимости системы у нее существует бесконечное множест-

во решений. В этих решениях n переменных могут принимать произвольные значения (свободные переменные), а остальные m переменных (базисные пе-

ременные) выражаются через свободные.

Коэффициенты линейной ЦФ определяют семейство параллельных гиперпло-

скостей в гиперпространстве и направление, в котором уменьшается значение ЦФ. Для задачи минимизации, гиперплоскость ЦФ надо перемещать параллельно самой себе в сторону уменьшения ее значений до тех пор, пока она еще будет содержать точки вы-

пуклого многогранника ограничений.

Симплекс-метод решения задачи ЛП. Решение – любой набор переменных x1 , x2 ,..., xn m , удовлетворяющий СЛАУ (1.6). Допустимое решение – решение с неотри-

цательными переменными (1.7). Базис – набор таких переменных, для которых матри-

ца, составленная из коэффициентов этих переменных в уравнениях, будет невырож-

денной, т.е. ее определитель отличен от нуля. Базисное решение – решение, которое по-

лучится, если положить все небазисные (свободные) переменные равными нулю и ре-

шить уравнения относительно базисных переменных.

Пусть ЦФ (1.5) и уравнения (1.6) разрешены относительно базисных перемен-

ных xi , i 1,..., m (выражены через свободные переменные y j , j 1,..., n ):

Басараб М.А., Вельц С.В. Методы оптимизации и исследование операций в информационной безопасности

7

 

x1

s10

(s11 y1

s12 y2

... s1k yk

... s1,n yn )

 

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xr

sr 0

(sr1 y1

sr 2 y2

... srk yk

... sr ,n yn )

 

(1.8)

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xm sm0

(sm1 y1

sm2 y2

... smk yk ... sm,n yn )

 

 

 

 

 

 

 

 

 

 

... sm 1,k yk ... sm 1,n yn. )

 

F sm 1,0 (sm 1,1 y1 sm 1,2 y2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Значения коэффициентов sij

можно записать в симплекс-таблицу, содержащую

m 1 строку и n 1 столбец:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s10

s11

s12

 

...

s1k

...

s1,n

 

 

 

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sr 0

sr1

sr 2

 

...

srk

...

sr ,n

 

 

 

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

(1.9)

 

 

sm0

sm1

 

sm2

 

...

smk

...

sm,n

 

 

 

 

 

 

 

 

 

 

 

 

s

m 1,0

s

 

s

 

 

...

s

m 1,k

... s

 

 

 

 

 

m 1,1

 

m 1,2

 

 

m 1,n

 

 

Алгоритм преобразования симплекс-таблицы (жордановы исключения). Принцип на-

хождения оптимального решения в симплекс-методе состоит в следующем. Задачу ли-

нейного программирования записывают в канонической форме. Определяют допусти-

мое базисное решение и проверяют его оптимальность. Если решение не оптимальное,

то из базиса вычеркивают определенную переменную и вместо нее вводят другую. В

результате многократного повторения описанного процесса либо будет получено опти-

мальное решение, либо будет выявлена противоречивость ограничений, либо станет видно, что при допустимых базисных решениях линейная функция является неограни-

ченной.

Посмотрим, как меняется система уравнений (1.8) при выводе переменной yk из числа свободных и введении на ее место переменной xr . Разрешив r-е уравнение сис-

темы (1.8) относительно yk , получим

 

s

s

r1

 

s

 

1

 

 

sr ,n

 

yk

r 0

 

 

y1

r 2

y2

...

 

xr

...

 

yn .

srk

 

 

 

srk

srk

 

srk

 

srk

 

 

 

 

Подставив это значение yk в остальные соотношения (1.9), получим

Басараб М.А., Вельц С.В. Методы оптимизации и исследование операций в информационной безопасности

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s s

 

 

 

 

s s

r1

 

 

 

 

 

 

 

s s

 

 

 

 

 

 

s

 

 

 

x1

s10

 

1k

r 0

 

s11

 

1k

y1

 

s12

 

 

1k r 2

y2

...

 

1k

xr

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

srk

 

 

 

 

srk

 

 

 

 

 

 

 

 

 

srk

 

 

 

 

 

 

srk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s

 

 

 

 

 

 

 

 

 

 

 

s

 

 

 

 

 

 

y

 

s

 

 

 

 

 

 

y

 

 

 

 

 

smk

 

... (1.10)

x

 

 

 

smk sr 0

 

 

smk sr1

 

 

 

 

smk sr 2

 

 

 

...

x

m0

 

 

 

 

 

 

 

 

2

 

m

 

 

 

 

srk

 

 

 

 

m1

 

 

srk

 

 

 

1

 

 

m2

 

srk

 

 

 

 

 

srk

 

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s

 

s

 

 

 

 

 

 

 

 

s

m 1,k

s

 

 

 

 

 

 

s

 

 

 

 

 

 

 

 

 

F

sm 1,0

 

m 1,k

r 0

 

sm 1,1

 

r1

) y1

...

 

m 1,k

 

 

xr

...

 

 

 

s

 

 

 

 

 

 

s

 

 

s

 

 

 

 

 

 

 

 

 

 

 

 

 

rk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

rk

 

 

 

 

 

 

 

rk

 

 

 

 

 

 

 

Соотношения, согласно которым следует преобразовать коэффициенты в сим-

плексной таблице при выводе переменной yk из числа свободных, а переменной xr – из числа базисных (замена базиса), называются жордановыми исключениями:

 

 

 

 

 

 

s

1 / s ,

 

 

 

 

 

 

 

rk

rk

 

 

 

s s

/ s

, j 0,..., n, j k,

 

 

 

 

rj

 

rj

rk

 

(1.11)

 

s

s

/ s

, i 1,..., m 1, i r,

 

 

 

 

jk

 

 

ik

rk

 

 

s s

s

s

/ s

rk

, i 1,..., m 1, i r, j 0,..., n,

j k.

ij ij

ik

rj

 

 

 

 

 

Столбец с номером k

в таблице называется разрешающим столбцом, строка с

номером r разрешающей строкой, элемент srk разрешающим элементом.

Процесс решения задачи симплексным методом состоит из двух этапов:

1)отыскание опорного решения;

2)отыскание оптимального решения.

Этап 1. Поиск опорного решения. С помощью процедуры Гаусса матрицу СЛАУ (1.7)

приводят к треугольному виду (прямой ход). По этой матрице определяют свободные переменные, которые выводятся в правую часть. С помощью второй части процедуры

(обратный ход) оставшиеся базисные переменные выражаются через свободные. Поло-

жив свободные переменные равными нулю и вычислив базисные, находят некоторое решение системы. Если среди базисных переменных есть отрицательные, решение не-

допустимо. Допустимое решение получаем, шаг за шагом обменивая базисные и сво-

бодные переменные до тех пор, пока или не придем к допустимому решению, или не убедимся, что оно не существует.

Для замены переменных используются жордановы исключения и формулы

(1.11). Рассмотрим правило выбора разрешающей строки и разрешающего столбца.

Проводим анализ столбца свободных членов. Пусть есть строка i0 таблицы sij (1 i0 m) такая, что si 0,0 0 (решение недопустимо). Начиная с первого столбца ищем в строке i0 отрицательный элемент. Пусть это элемент si 0,k . Тогда столбец номер

Басараб М.А., Вельц С.В. Методы оптимизации и исследование операций в информационной безопасности

9

k , в котором он находится, берется в качестве разрешающего. Если же все элементы строки i0 неотрицательны, то задача не имеет допустимых решений. Для нахождения разрешающей строки рассматриваются отношения si0 / sik , i 1,..., m . Среди этих от-

ношений выбирается минимальное положительное, которое и соответствует разре-

шающей строке.

Когда ограничения в исходной задаче ЛП заданы в виде неравенств, в качестве базисных удобно брать дополнительные переменные и разрешить относительно них все

уравнения.

Этап 2. Поиск оптимального решения. Оптимальное решение ищется последователь-

ным преобразованием симплексной таблицы с помощью жордановых исключений. В

качестве исходной берется таблица, соответствующая опорному решению, полученно-

му на первом этапе (в такой таблице si0 0, i 1,..., m ). Для отыскания разрешающей строки и разрешающего столбца проводится анализ строки таблицы, соответствующей ЦФ F (строка номер m+1). Если в этой строке есть положительные элементы, то реше-

ние может быть улучшено (значение F может быть уменьшено), если сделать положи-

тельной (ввести в число базисных) ту переменную, у которой отрицательный элемент в строке. Вместо нее следует ввести в число свободных ту переменную, которая первой обратится в нуль при увеличении новой базисной переменной.

Если в строке m+1 таблицы, соответствующей целевой функции F, нет ни одно-

го положительного элемента (не считая свободного члена), т.е. sm 1 , j 0, j 1,..., n , то решение, получаемое из этой таблицы, оптимально. Если в строке m+1 есть положи-

тельный элемент sm 1, k 0 , а в столбце k нет ни одного положительного элемента

( sik 0, i 1,..., m ), то ЦФ F не ограничена снизу и оптимального решения не существу-

ет. Если, наконец, в столбце k , определяемом условием sm 1, k 0 , есть положительные элементы, то этот столбец берут в качестве разрешающего столбца, а в качестве разре-

шающего элемента надо взять положительный элемент srk столбца k , для которого

минимально отношение si0 / sik , т.е. 0 sr0 / srk si0 / sik , i 1, m, sik 0 .

Переменная, соответствующая строке r, переводится из базисных в свободные, а

переменная, соответствующая столбцу k , из свободных – в базисные. После преобра-

зования симплексной таблицы анализ строки F повторяется.

Для контроля правильности вычисления решение, получаемое из таблицы (сво-

бодные переменные, соответствующие столбцам таблицы, равны нулю, а базисные, со-

Басараб М.А., Вельц С.В. Методы оптимизации и исследование операций в информационной безопасности

10

ответствующие строкам – свободным членам, т.е. элементам нулевого столбца si 0 , i 1,..., m ), подставляется в исходные уравнения задачи ЛП. Кроме того, после каждого преобразования симплексной таблицы значение ЦФ не должно возрастать, а базисные

переменные должны оставаться неотрицательными.

Задачи, в которых в некоторых соотношениях (1.3) стоит знак равенства или не-

строгого неравенства, либо требуется отыскание не минимума, а максимума ЦФ (1.2),

легко допускают запись в приведенном виде. При этом соотношение a j1 x1 a j 2 x2 a jn xn bj

эквивалентно совокупности неравенств

a j1 x1 a j 2 x2

... a jn xn

bj ,

a j1 x1 a j 2 x2

... a jn xn

bj ;

соотношение

 

 

a j1 x1 a j 2 x2

... a jn xn

bj

– неравенству

 

 

a j1 x1 a j 2 x2

... a jn xn

bj ,

а

 

 

max F(x) min F(x) .

x

Пример выполнения работы

Решим следующую задачу ЛП:

F x2 x1 min,

x1 2x2 x3 22x1 x2 2

x1 x2 5 x1 , x2 , x3 0.

Введением фиктивных переменных x4, x5 приведем исходную задачу к канони-

ческому виду:

F x1 x2 min,

x1 2x2 x3 22x1 x2 x4 2x1 x2 x5 5

x1 , x2 , x3 , x4 , x5 0.

Басараб М.А., Вельц С.В. Методы оптимизации и исследование операций в информационной безопасности