- •ВВЕДЕНИЕ
- •1. ПРИМЕРЫ И КЛАССИФИКАЦИЯ ЗАДАЧ ПРИНЯТИЯ РЕШЕНИЙ. ОБЗОР МЕТОДОВ
- •2. ОСНОВНЫЕ СВЕДЕНИЯ ИЗ ТЕОРИИ ЭКСТРЕМАЛЬНЫХ ЗАДАЧ
- •2.1. Основные понятия
- •2.2. Порядок решения экстремальных задач
- •3. ДИНАМИЧЕСКИЕ ЗАДАЧИ ПРИНЯТИЯ РЕШЕНИЙ
- •3.1. Постановка задачи оптимального управления
- •3.2. Функционал, его свойства, необходимые и достаточные условия достижения экстремума
- •3.3. Вариационные задачи на безусловный экстремум
- •3.4. Вариационные задачи на условный экстремум
- •3.5. Каноническая форма уравнений Эйлера. Принцип максимума
- •3.6. Практические примеры применения принципа максимума
- •3.6.1. Синтез программы управления мягкой посадкой космического летательного аппарата
- •3.6.2. Синтез системы стабилизации, оптимальной по быстродействию
- •3.6.3. Расчетный пример
- •4. МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
- •4.1. Линейное программирование: постановка задачи, основные понятия, графическая интерпретация
- •4.2. Симплекс-метод
- •4.2.1. Алгебраический вариант
- •4.2.2. Табличный вариант
- •4.3. Решение задач дискретного линейного программирования
- •4.4. Двойственная задача линейного программирования
- •4.5. Нелинейное программирование
- •4.5.1. Обобщенный метод множителей Лагранжа, условия Куна-Таккера
- •4.5.2. Численный метод зондирования пространства параметров
- •4.5.3. Методы безусловной оптимизации
- •4.5.4. Методы безусловной оптимизации первого и второго порядка
- •4.5.5. Прямые методы условной оптимизации
- •4.5.6. Непрямые методы условной оптимизации
- •4.5.7. Применение симплекс-метода для решения целочисленных задач нелинейного программирования
- •5. СТРАТЕГИЧЕСКИЕ МАТРИЧНЫЕ ИГРЫ
- •5.1. Основные термины и допущения. Формализация задачи. Принципы поиска решения
- •5.2. Общие методы решения стратегических матричных игр
- •5.2.2. Способы упрощения стратегических матричных игр
- •5.2.3. Решение стратегических матричных игр методом линейного программирования
- •5.2.4. Итерационный алгоритм Брауна-Робинсон
- •5.3. Примеры решения стратегических матричных игр
- •6. СТАТИСТИЧЕСКИЕ МАТРИЧНЫЕ ИГРЫ
- •Библиографический список
- •ОГЛАВЛЕНИЕ
Например, в качестве внутренней можно использовать логарифмическую штрафную функцию, а в качестве внешней – квадратичную функцию, т. е.
Φ(X,a)= −ak m∑1 ln(g j (X))+ |
1 |
m∑2 (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).
Отсечение Данцига вводится в соответствии с условием
n−m |
|
|
∑x′′j ≥1 |
, |
(56) |
j=1
где x′′j – свободные переменные текущего плана. Условие (56) яв-
ляется линейным ограничением в форме неравенства и сводится к равенству путем введения дополнительной базисной переменной:
n−m
xm′ +1 = −1 + ∑x′′j ≥ 0 ,
j=1
что эквивалентно дополнению линейного плана строкой, все элементы которой равны –1. Таким образом, размерность задачи повышается за счет добавления одной базисной переменной, причем текущее базисное решение оказывается недопустимым. Это требует повторного решения линейной задачи (переход к п. 2 алгоритма).
Пример 33. Дополним пример 28, рассмотренный в под-
разд. 4.3, нелинейным ограничением 0,5≤x2/x1≤2. Полученное в примере 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