Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
motc / opt14.doc
Скачиваний:
87
Добавлен:
10.12.2013
Размер:
417.79 Кб
Скачать

3.2.Графический метод решения задач нелинейного программирования

Этот метод применяется, когда количество переменных равно двум и либо целевая функция, либо ограничения линейные. Рассмотрим два случая.

Случай 1. Целевая функция линейная, ограничения нелинейные.

Алгоритм при этом следующий:

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

2. Выделяем область допустимых решений.

3. Строим график целевой функции при каком-либо значении правой части (графиком является прямая).

4. График целевой функции переносим параллельно самому себе до касания с границей области допустимых решений.

5. Находим координаты точки касания.

Пример 3.4.

Z = 2 x + y  max ,

x2 + y2  36,

x, y  0.

А – точка касания (рис. 3.3).

y

x

6

6

Z = max

Z = 0

A

Рис. 3.3. Графический метод решения линейного ЦФ

и ЗНЛП для нелинейных ограничений

Решение

tg   = 2, tg  = tg (/2 - ) = ctg  = 1/2.

Точка А лежит на луче, проходящем под углом  к оси абсцисс. Кроме того, точка А принадлежит A(x, y) окружности. Следовательно, координаты точки А можно найти, решив следующую систему:

x2 + y2 = 36,

y / x = 1/2

x=12 / 5, y = 6 / 5,

Zmax = 30 / 5 .

Случай 2. Ограничения линейные, целевая функция нелинейная (рис. 3.4).

Алгоритм аналогичен предыдущему с некоторыми отличиями:

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

2. Для нахождения решения требуется строить семейство целевых функций.

Пример 3.5.

Z = (x2 + y2)  max

Решение

3x + 4 y - 24  0

x, y  0.

Рис. 3.4. Графический метод решения ЗНЛП

для линейных ограничений и нелинейной ЦФ

Ответ: x= 8, y = 0, Zmax = 8.

Существует некоторый класс задач нелинейного программирования, который можно свести к задачам линейного программирования. Это задачи дробно-линейного программирования.

3.3. Задачи дробно-линейного программирования

Постановка задачи:

c

Q =  min,

0 + c1 x1 + c2 x2 + + cn xn

d0 + d1 x1 + d2 x2 + + dn xn

n (3.6)

aij xj = bi, i = 1, m,

j=1

xj  0, j = 1, n.

Предположим, что знаменатель целевой функции не равен нулю и положителен (если он отрицателен, то умножим числитель и знаменатель на -1).

Введем новую переменную Y0:

1 (3.7)

n

d0 + di xi

i=1

тогда ЦФ

Q = c0Y0 + c1Y0 x1 + c2Y0 x2 + + cnY0 xn  min. (3.8)

Введем переменныеYi = xiY0, i = 1, n , тогда

Q = c0Y0 + c1Y1 + c2Y2 + + cnYn  min. (3.9)

Домножим левую и правую части ограничений на Y0 :

n n

aijxjY0= bi Y0 , aijYi= bi Y0 . (3.10)

j=1 j=1

Добавим еще ограничение:

. (3.11)

Получили задачу линейного программирования ((3.9) – (3.11)). Решив ее одним из методов линейного программирования, получим оптимальное решение Yj. Далее осуществляется переход к исходным переменным Хj = Yj/ Y0 .

П

Q =  min.

ример 3.6.

2 x1 + x2

x1 + 2 x2 + 1

x1 + 2 x2  2,

2 x1 + x2 + x3 = 6,

x1, x2, x3  0.

Решение

  1. Вводим новые переменные Y0, Y1,Y2:

1

Y0 =

x1 + 2 x2 + 1,

Q = -2 x1Y0 + х2Y0 = -2Y1 + Y2  min.

2. Преобразуем ограничения:

x1Y0 – 2 х2Y0 - 2Y0 ≤ 0,

2 x1Y0 + х2Y0 + х3Y0 = 6Y0,

x1Y0 + 2 х2Y0 + Y0 = 1.

Y1 - 2Y2  2Y0,

2 Y1 + Y2 + Y3 - 6Y0 = 0,

Y1 + 2Y2 + Y0 = 1,

Y1, Y2 , Y3  0.

3. Преобразуем ограничение-неравенство в ограничение-равенство введением искуственной переменной Y4:

Y1 - 2Y2 - 2Y0 + Y4 = 0.

4. Приведем задачу к каноническому виду методом искусственного базиса:

Y1 - 2Y2 - 2Y0 + Y4 = 0,

2 Y1 + Y2 + Y3 - 6Y0 + Y5 = 0,

Y1 + 2Y2 + Y0 + Y6 = 1.

Искусственная целевая функция G =Y5 + Y6  min.

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

Y0 = 1/3, Y1 = 2/3, Y2 = 0, Y3 = 2/3.

6. Переходим к исходным переменным:

Х1 = Y1 /Y0 = 2,

Х2 = Y2 /Y0 = 0,

Х3 = Y3 /Y0 = 2.

Соседние файлы в папке motc