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

МО практики

.pdf
Скачиваний:
7
Добавлен:
03.05.2015
Размер:
436.09 Кб
Скачать

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ - УЧЕБНО-

НАУЧНОПРОИЗВОДСТВЕННЫЙ КОМПЛЕКС»

УЧЕБНО-НАУЧНО-ИССЛЕДОВАТЕЛЬСКИЙ ИНСТИТУТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Кафедра «Информационные системы»

Э.А. Кравцова

ИНФОРМАЦИОННЫЕ СИСТЕМЫ В МЕТОДАХ ОПТИМИЗАЦИИ

Методические указания по проведению практических занятий

Дисциплина – «Методы оптимизации» Направление – 230700.62 «Прикладная информатика»

Допущено ФГБОУ ВПО «Госуниверситет - УНПК» для использования в учебном процессе в качестве методических указаний для высшего профессионального образования

Орел 2013

Автор: ст. преп. каф. ИС

Э.А. Кравцова

Рецензент: канд. техн. наук, доц. каф. ИС

О.В. Конюхова

Методические указания содержат описание пяти практических занятий по дисциплине, а также теоретические сведения по рассматриваемым вопросам, практические примеры и справочную информацию, необходимую для выполнения лабораторных работ. Они посвящены выработке у студентов навыков разработки математических, информационных моделей процессов в предметной области и способствуют приобретению навыков экспериментальных исследований при выборе метода оптимизации, так же при решении типовых оптимизационных задач.

Предназначены студентам очной формы обучения, обучающимся по направлениям 230700.62 «Прикладная информатика», 231000.62 «Программная инженерия», 230400.62 «Информационные системы

итехнологии», 230100.62 «Информатика и вычислительная техника»

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

Редактор А.А. Митин

Технический редактор А.А. Стычук

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Государственный университет - учебно-научно- производственный комплекс»

Подписано к печати 23.05.2013 г. Формат 60x90 1/16. Усл. печ. л. 3,3. Тираж 31 экз.

Заказ №________

Отпечатано с готового оригинал-макета на полиграфической базе ФГБОУ ВПО «Госуниверситет - УНПК»,

302030, г. Орел, ул. Московская, 65.

© ФГБОУ ВПО «Госуниверситет - УНПК», 2013

2

 

СОДЕРЖАНИЕ

 

1.

Практическое занятие № 1. Линейное программирование:

симплекс-метод решения задач линейного

программирования,

геометрическая интерпретация задач

4

2.

Практическое занятие № 2. Специальные задачи линейного

программирования: транспортная задача

11

3.

Практическое занятие № 3. Решение задач по нелинейной

оптимизации. Метод множителей Лагранжа

28

4.

Практическое занятие № 4. Сетевая модель, расчёт основных

параметров сетевого графика

31

5.

Практическое занятие № 5. Решение задач теории игр,

определённых матрицами

42

Литература

53

3

1. Практическое занятие №1

Линейное программирование: симплекс-метод решения задач линейного программирования, геометрическая интерпретация задач

1.1.Постановка задачи линейного программирования

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

f( X ) = f (x1, x2 ,..., xn ) =

=c1x1 +c2 x2 +... +cn xn max(m

 

a11x +a12 x2 +... +a1n xn = b1

a

21

x +a

22

x

2

+... +a

2n

x

n

= b

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

m1

x +a

m2

x

2

+... +a

mn

x

n

= b

 

 

 

 

 

 

 

m

 

 

 

 

xi 0,

i =1,2,..., n

 

 

 

 

 

 

f (X ) =CX max(min)

 

или AX = B

, (1.1)

 

 

X 0

 

 

 

x

 

 

 

 

b

 

 

 

 

 

1

 

 

 

 

 

1

 

 

где

X =

x2

 

- вектор переменных,

b2

 

- столбец свободных членов,

 

 

 

B =

 

 

 

 

...

 

 

 

 

...

 

 

 

 

x

n

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

m

 

a

a

 

 

...

a

 

 

 

 

 

 

11

12

 

 

1n

 

 

 

 

 

a21

a22 ...

a2n

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

A =

 

 

 

 

 

 

.

.

 

 

.

.

 

 

 

 

 

 

 

am2 ...

 

 

 

 

 

 

 

am1

amn

 

 

 

 

 

Задачей линейного программирования в симметричной форме записи

называется задача вида (в матричной форме записи):

f (X ) =CX min

 

f (X ) =CX max

 

AX B

или

AX B

(1.2)

 

 

 

 

X 0

 

X 0

 

4

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

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

f (X ) =CX max,

 

 

AX = B

,

(1.3)

 

 

 

X 0

 

 

причем столбец свободных членов удовлетворяет условию B0. В системе ограничений m уравнений и n неизвестных, т.е. матрица A имеет размер m×n,вектор-столбец B m×1, вектор-строка коэффициентов целевой функции C

1×n. Алгоритм решения задачи (3.1) симплекс-методом будем сопровождать решением конкретного примера, а именно задачи

f (X ) =5x1 x2 + 3x3 2x4 max,

 

 

3x

+ 2x

2

+ x

+ x

4

= 7

(1.4)

 

1

 

3

 

 

5x1 + 3x2 + x3 + 2x4 =11

 

 

 

x1, x2 , x3, x4 0

 

 

 

 

 

 

1)Получение начального опорного плана. Один из вариантов – преобразование расширенной матрицы системы ограничений к приведенному виду, выделение базисных и свободных переменных:

3

2

1

1

 

7

C =C C

 

3

2

1

1

 

7

C =C C

 

 

1

1

1

0

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

5

3

1

2

 

 

2

2

1

 

2

1

0

1

 

4

 

1

1

2

 

2

1

0

1

 

4

 

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

Здесь x3, x4 – базисные переменные, x1, x2– свободные переменные. При преобразованиях необходимо следить за тем, чтобы столбец свободных членов оставался неотрицательным. Начальный опорный план получается, если присвоить свободным переменным значения, равные нулю; при этом базисные

5

переменные принимают значения, равные числам в соответствующей строке столбца свободных членов: Xоп1=(0;0;3;4).

2) По преобразованной системе ограничений составляют симплекстаблицу. В верхней строке (заголовки столбцов) располагаются свободные переменные, в крайнем левом столбце – базисные переменные; крайний правый столбец – это столбец свободных членов, а самая нижняя строка является строкой целевой функции (об определении чисел 1, 2, f в этой строке речь пойдет ниже). Остальное содержимое таблицы – столбцы преобразованной матрицы, отвечающие соответствующим столбцам свободных переменных (см. таблицу 1.1).

 

x1

x2

B

 

 

x1

x2

B

x3

1

1

3

 

x3

1

1

3

 

 

 

 

 

x4

 

 

 

x4

2

1

4

 

2

1

4

 

 

 

 

 

f

 

 

 

f

1

2

f

 

-6

2

1

 

 

 

 

 

 

 

 

 

Таблица 1.1.

Таблица 1.2

Для того чтобы найти значение I (в рассматриваемом примере i=1,2),

воспользуемся правилом:

вектор из коэффициентов при базисных переменных

в целевой функции скалярно умножить на i-й столбец симплекс-таблицы и вычесть из найденного числа коэффициент целевой функции при соответствующем свободном переменном. Для f скалярно перемножаются вектор коэффициентов при базисных переменных целевой функции и столбец свободных членов:

 

 

 

 

3

 

1

 

 

∆ =

 

 

5 =3 1 + (2) 2 5 = −6;

 

1

 

2

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

3

1

(1) =3 1 + (2) 1 +1 = 2 ;

2

=

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

=

 

3

 

3

=3 3 + (2) 4 =1.

 

 

f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

4

 

 

 

 

 

 

 

 

 

 

 

6

Итак, таблица 1.2 представляет собой окончательный вид первой симплекс-таблицы.

Замечание. Следует обратить внимание на то, что f – это значение целевой функции при найденном начальном опорном решении: f=f(0,0,3,4)=1.

Числа же 1, 2 – оценки, которые будут учитываться при проверке этого решения на оптимальность.

3)Построенное начальное опорное решение является оптимальным, если все оценки I неотрицательны (причем в случае положительности всех оценок решение единственно!). Если среди этих оценок есть отрицательная, но среди чисел в ее столбце нет положительных, то исходная задача не имеет решения в силу неограниченности целевой функции. Наконец, если в каждом столбце с отрицательной оценкой есть хотя бы один положительный элемент, то необходимо осуществить переход к новому опорному плану (который затем снова проверяется на оптимальность).

4)Переход к новому опорному плану проводится по следующей схеме.

-Выбирается ведущий столбец (столбец с отрицательной оценкой). Если отрицательных оценок несколько, то выбирается столбец с отрицательной оценкой, наибольшей по модулю. В рассматриваемом примере ведущим будет первый столбец (1=-6)

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

оба числа в первом столбце положительны, поэтому: min 3, 4 = 2 , ведущей

1 2

будет вторая строка.

-На пересечении ведущих строки и столбца определяется ведущий (разрешающий) элемент (в примере это 2, соответствующая ячейка таблицы 3.2 заштрихована).

-В заголовках меняются местами переменные, соответствующие ведущим строке и столбцу (в примере меняются местами x1 и x4).

7

-Ведущий элемент заменяется значением, обратным этому элементу (в примере ½).

-Все остальные элементы ведущей строки делятся на ведущий элемент, а все остальные элементы ведущего столбца делятся на ведущий элемент, взятый со знаком «-» (см. таблицу 1.3, в которую внесены описанные выше изменения,

ане найденные пока числа заменены греческими буквами).

-Оставшиеся элементы находят с помощью «правила многоугольника»

X = X 'ACB (здесь Х – вычисляемое значение, X ' - соответствующий элемент

«старой» таблицы, B – ведущий элемент, A и C – оставшиеся вершины четырехугольника с диагональю X 'B ). Для разбираемого примера имеем:

α =1 121 = 12 ; β =3 421 =1; γ = 2 1 (26) =5; δ =1 4 (26) =13 .

Итак, получена новая симплекс-таблица (таблица 1.4), которая определяет новое опорное решение (свободные переменные x2, x4; их значения будут равны нулю; базисные переменные x1, x3; их значения – соответствующие числа из столбца свободных членов: x1=2, x3=1). Значение функции на этом опорном решении – в правом нижнем углу, т.е. Xоп2=(2;0;1;0), f(2,0,1,0)=13.

 

x4

x2

B

 

 

x4

x2

B

x3

-1/2

α

β

 

x3

-1/2

½

1

 

 

 

 

 

x1

 

 

 

x1

½

½

2

 

½

½

2

 

 

 

 

 

f

 

 

 

f

3

γ

δ

 

3

5

13

 

 

 

 

 

 

 

 

 

Таблица 1.3

Таблица 1.4

5) Построенное новое опорное решение требуется снова проверить на

оптимальность и, если

необходимо, повторить операцию перехода. В

рассматриваемой задаче, однако, все оценки стали положительными, и,

следовательно, Xоп2=(2;0;1;0)=Xоптим, fmax=f(2,0,1,0)=13.

8

Замечание 1. Задачи, в которых решается задача на минимум, легко свести к рассмотренному случаю. Для этого, сохранив систему ограничений, исследуем задачу с целевой функцией f1( X ) = − f ( X ) max .

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

1.3. Задания для самостоятельной работы.

Решить задачи линейного программирования.

 

f (X ) =11x1 +5x2 8x3 2x4 max,

 

f (X ) = x1 2x2 +3x3 max,

1)

x1 + x2 x3 = 4

 

 

 

4x1

+ x2

2x3

3

 

 

 

2) 2x

 

+ x

 

+ x

 

= 2

 

2x1 +5x3 + x4 =10

 

 

 

 

 

1

 

 

 

 

2

 

 

 

3

 

 

 

 

xi

0,i =1,2,3,4

 

 

 

3x1 + x2 + 2x3 3

 

 

 

 

 

 

xi

 

0,i =1,2,3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (X ) = −7x1 3x2 3x3 2x4 max,

 

f (X ) = 2x1 +3x2 + x3 max,

3)

10x1 x2 + 2x3 +3x4 = −2

 

 

 

x1

+3x2

+5x3 15

 

6x1 + 2x2 +3x3 + x4 =18

 

 

 

4) x

 

+ x

 

 

+ x

 

7

 

 

 

 

 

 

1

 

 

 

2

 

 

 

3

 

 

 

 

 

 

 

xi 0,i =1,2,3,4

 

 

 

2x1 + x2 + 4x3 12

 

 

 

 

 

 

 

 

 

 

xi

0,i =1,2,3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (X ) = −3x1 5x2 + x3 + x4 min,

 

 

f (X ) = x1 +5x2 + x3 x4 max,

5)

2x

 

+3x

2

+ x

3

= 6

 

6)

x + 2x

2

+ x

3

=

3

 

 

1

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 +3x2 x4 = −3

 

 

 

2x1 + x2 + x4 = 4

 

 

 

xi

0,i =1,2,3,4

 

 

 

 

0,i =1,2,3,4

 

 

 

 

 

 

xi

 

 

f (X ) = x1 x2 +3x3 x4 max,

 

f (X ) =12x1 +8x2 +5x3 + 4x4 min,

7)

x + 2x

2

+ x

3

= 2

8)

6x + x

2

x

3

+ 2x

4

= −2

 

1

 

 

 

 

 

6

 

 

1

 

 

 

 

 

 

 

 

 

 

3x1 2x2 + x4 =

 

 

11x1 x2 + 2x3 3x4 = 7

 

 

xi 0,i =1,2,3,4

 

 

 

xi

0,i =1,2,3,4

 

 

 

 

 

 

 

9

 

f (X ) = −2x1 3x2 6x3 +18x4 max,

 

f (X ) = x1 + 2x2 + x3 max,

9)

 

4x

6x

2

+ x

3

2x

4

= 8

 

 

2x1

+ x2 + x3

2

 

1

 

 

 

 

10) x + x

 

+3x

 

3

 

4x1 14x2 + 2x3 5x4 =12

 

 

 

1

 

 

2

 

 

 

3

 

 

 

 

xi 0,i =1,2,3,4

 

 

 

x1

3x2 + x3 1

 

 

 

 

 

 

 

xi 0,i =1,2,3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (X ) = x1 + x2 +3x3 + x4 min,

 

f (X ) = −4x1 2x2 + x3 min,

 

 

5x

6x

2

+ x

3

2x

4

= 2

12)

3x 2x

2

+

4x

3

6

11)

1

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

11x1 14x2 + 2x3 5x4 = 2

 

2x1 + x2 +3x3 =18

 

 

 

xi 0,i =1,2,3,4

 

 

 

xi

0,i =1,2,3

 

 

 

 

 

 

 

 

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]