Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория принятия решений.pdf
Скачиваний:
299
Добавлен:
26.03.2015
Размер:
1.42 Mб
Скачать

Например, в качестве внутренней можно использовать логарифмическую штрафную функцию, а в качестве внешней – квадратичную функцию, т. е.

Φ(X,a)= −ak m1 ln(g j (X))+

1

m2 (hl (X))2 .

 

j=1

ak l=1

4.5.7. Применение симплекс-метода для решения целочисленных задач нелинейного программирования

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

Рассмотрим порядок решения задачи нелинейного программирования в следующей постановке: требуется определить значения целочисленных аргументов x1 ,x2 ,…,xn , доставляющие максимум

 

n

 

целевой функции

вида q(x1, x2 ,...xn )= c0 + cixi

и удовлетво-

 

i=1

 

ряющие системе ограничений:

 

n

 

 

a ji xi

= bj ; j=1,2,…m; xi 0 ; i=1,2,…n;

i=1

 

 

zj (x1, x2 ,...xn )0 ; j=1,2,…l.

(55)

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

1.Строится линейный план без учета условий (55).

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

3.Если получено целочисленное решение, переходят к п.6.

4.Если полученное решение не является целочисленным, вво-

117

дится правильное отсечение по одной из переменных в соответст-

вии с (43).

5.Пункты 2...4 повторяются до получения допустимого и оптимального целочисленного решения.

6.Проверяется соответствие полученного решения нелинейным ограничениям задачи (55). Если условия (55) выполняются, полученное в пункте 5 решение является окончательным.

7.Если условия (55) не выполняются, строится отсечение Данцига, вызывающее переход к задаче повышенной размерности с недопустимым базисным решением.

8.Пункты 2-7 повторяются до получения допустимого и оптимального целочисленного решения, соответствующего ограниче-

ниям (55).

Отсечение Данцига вводится в соответствии с условием

nm

 

 

x′′j 1

,

(56)

j=1

где x′′j – свободные переменные текущего плана. Условие (56) яв-

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

nm

xm+1 = −1 + x′′j 0 ,

j=1

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

Пример 33. Дополним пример 28, рассмотренный в под-

разд. 4.3, нелинейным ограничением 0,5x2/x12. Полученное в примере 28 решение, представленное планом в табл. 13, такому условию не соответствует. Введем отсечение Данцига и новую

переменную x10 = −1 + x8 + x9 0 . План дополнится соответст-

вующей строкой, причем текущее базисное решение теперь окажется недопустимым (значение базисной переменной x10<0). Требуется дальнейшее преобразование плана по рассмотренным выше правилам (табл. 20).

Уже после первого преобразования по правилам, используемым для линейной непрерывной задачи, получен план, представ-

118

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

Рассмотренный пример демонстрирует высокую эффективность метода. Тем не менее, отметим, что в общем случае решение задачи может потребовать и большего количества преобразований.

 

 

 

 

 

 

 

 

 

Таблица 20

 

 

 

 

 

 

 

 

 

 

 

 

Базис

 

1

 

 

-x9

 

 

-x8

 

q

 

-7

 

 

0

 

 

1

 

 

 

 

0

 

0

0

 

 

 

 

 

 

 

x1

 

2

 

 

-1

 

 

1

 

 

 

 

1

 

-1

1

 

 

 

 

 

 

 

x2

 

5

 

 

1

 

 

-2

 

 

 

 

-1

 

1

-1

 

 

 

 

 

 

 

x3

 

3

 

 

-4

 

 

3

 

 

 

 

4

 

-4

4

 

 

 

 

 

 

 

x4

 

2

 

 

2

 

 

-5

 

 

 

 

-2

 

2

-2

 

 

 

 

 

 

 

x5

 

2

 

 

-3

 

 

2

 

 

 

 

3

 

-3

3

 

 

 

 

 

 

 

x6

 

1

 

 

1

 

 

-3

 

 

 

 

-1

 

1

-1

 

 

 

 

 

 

 

x7

 

1

 

 

-2

 

 

1

 

 

 

 

2

 

-2

2

 

 

 

 

 

 

 

x10

 

-1

 

 

-1

 

 

-1

 

 

 

 

1

 

-1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 21

 

Базис

1

 

 

-x10

 

 

-x8

 

 

q

-7

 

0

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

3

 

-1

 

 

2

 

 

 

x2

4

 

1

 

 

 

-3

 

 

 

x3

7

 

-4

 

 

7

 

 

 

x4

0

 

2

 

 

 

-7

 

 

 

x5

5

 

-3

 

 

5

 

 

 

x6

0

 

1

 

 

 

-4

 

 

 

 

 

 

 

 

 

 

 

 

 

x7

3

 

-2

 

 

3

 

 

 

x9

1

 

-1

 

 

1

 

 

119