
- •Оптимальное управление процессами и объектами на основе линейного программирования
- •1. Постоновка задачи линейного программирования
- •2. Формулировка задачи и метод ее решения
- •Определяем максимальное значение целевой функции
- •Определяем минимальное значение целевой функции
- •2.2. Решение задач с булевыми переменными
- •Определяем максимальное значение целевой функции
- •3. Содержание отчета
Определяем максимальное значение целевой функции
Признак 4а удовлетворяется (табл. 4). При максимизации целевой функции х1 = 2,5; х2 = 0; х3 = 0; Е = –5.
Определяем минимальное значение целевой функции
Признак 4б не удовлетворяется (табл. 4). Проводим обмен переменных. Выбираем разрешающий столбец х2 (табл. 4). В этом случае разрешающая строка у4 (табл. 4). Составляем симплекс-таблицу (табл. 5) по правилам, описанным в этапе 3 при шаге 2. Воспользовавшись алгоритмом определения симплекс-таблицы в этапе 3 и на шаге 3, получаем новую симплекс-таблицу (табл. 6).
Признак 4б удовлетворяется (табл. 6). При минимизации целевой функции х1 = 2,75; х2 = 0,5; х3 = 0; Е = –6,5.
Таблица 5 Таблица 6
|
Свободный член |
у2 |
x2 |
x3 |
|
Свободный член |
у2 |
у4 |
x3 |
E |
– 1,5 |
–1,5 |
–1,5 |
–13,5 |
E |
– 6,5 |
–0,5 |
–1,5 |
–9,5 |
y1 |
0,75 |
0,75 |
0,75 |
6,75 |
y1 |
13,25 |
0,25 |
0,75 |
5,25 |
х1 |
0,25 |
0,25 |
0,25 |
2,25 |
х1 |
2,75 |
–0,25 |
0,25 |
–0,25 |
y3 |
0,25 |
0,25 |
0,25 |
2,25 |
у3 |
7,75 |
0,75 |
0,25 |
4,75 |
y4 |
0,5 |
0,5 |
0,5 |
4,5 |
х2 |
0,5 |
0,5 |
0,5 |
4,5 |
2.2. Решение задач с булевыми переменными
Булевыми переменными называются такие целочисленные переменные, которые могут принимать лишь два значения: 0 и 1. Для решения данной задачи воспользуемся методом частичного перебора с аддитивным алгоритмом Баллаша с фильтром. Этот метод рассмотрим на следующем примере:
Е = 51 + 42 – 23 + 4 max;
31 – 2 + 23 – 4 4; {1}
21 – 42 – 4 –3; {2}
1 + 23 + 34 2; {3}
62 – 23 –1; {4}
42 – 23 + 4 2; {5}
[0; 1].
Определяем максимальное значение целевой функции
Итерационный процесс при решении задачи представлен в табл. 7.
Таблица 7
3 |
4 |
2 |
1 |
Значения ограничений |
Выполнение всех ограничений |
Значение Е |
||||
{1} |
{2} |
{3} |
{4} |
{5} |
||||||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Да |
0 |
Основываясь на данных табл. 7, можно сделать вывод, что в оптимальном решении значение целевой функции будет не меньше нуля. Такое положение записываем в виде дополнительного условия
51 + 42 – 23 + 4 > 0. {0}
Таким образом, получается система, состоящая из шести ограничений, которым должно удовлетворяться искомое решение. При этом за нулевое ({0}) ограничение принимается дополнительное фильтрующее ограничение. Если некоторое ограничение не удовлетворяется, для данного набора дальнейший расчет не производится.
Продолжаем итерационный процесс (табл. 8) по определению оптимального значения целевой функции с использованием фильтрующего ограничения.
Таблица 8
3 |
4 |
2 |
1 |
Значения ограничений |
Выполнение всех ограничений |
Значение Е |
|||||
{0} |
{1} |
{2} |
{3} |
{4} |
{5} |
||||||
0 |
0 |
0 |
1 |
5 |
3 |
2 |
1 |
0 |
0 |
Да |
5 |
Записываем новое фильтрующее ограничение ({01}):
51 + 42 – 23 + 4 5. {01}
Продолжаем итерационный процесс (табл. 9) по определению оптимального значения целевой функции с фильтрующим ограничением {01}.
Таблица 9
3 |
4 |
2 |
1 |
Значения ограничений |
Выполнение всех ограничений |
Значение Е |
|||||
{01} |
{1} |
{2} |
{3} |
{4} |
{5} |
||||||
0 |
0 |
1 |
0 |
4 |
– |
– |
– |
– |
– |
Нет |
– |
0 |
0 |
1 |
1 |
9 |
2 |
–2 |
1 |
6 |
4 |
Нет |
– |
0 |
1 |
0 |
0 |
1 |
– |
– |
– |
– |
– |
Нет |
– |
0 |
1 |
0 |
1 |
6 |
2 |
1 |
4 |
– |
– |
Нет |
– |
0 |
1 |
1 |
0 |
5 |
–2 |
–5 |
– |
– |
– |
Нет |
– |
0 |
1 |
1 |
1 |
10 |
2 |
–3 |
4 |
– |
– |
Нет |
– |
1 |
0 |
0 |
0 |
–2 |
– |
– |
– |
– |
– |
Нет |
– |
1 |
0 |
0 |
1 |
3 |
– |
– |
– |
– |
– |
Нет |
– |
1 |
0 |
1 |
0 |
2 |
– |
– |
– |
– |
– |
Нет |
– |
1 |
0 |
1 |
1 |
7 |
4 |
–2 |
3 |
– |
– |
Нет |
– |
1 |
1 |
0 |
0 |
–1 |
– |
– |
– |
– |
– |
Нет |
– |
1 |
1 |
0 |
1 |
4 |
– |
– |
– |
– |
– |
Нет |
– |
1 |
1 |
1 |
0 |
3 |
– |
– |
– |
– |
– |
Нет |
– |
1 |
1 |
1 |
1 |
8 |
3 |
–3 |
6 |
– |
– |
Нет |
– |
Из табл. 7, 8, 9 следует, что оптимальным решением задачи является
1 =1; 2 = 0; 3 = 0; 4 = 0; Е = 5.
Вывод. При определении оптимального решения по табл. 7, 8, 9 вместо необходимых при полном переборе вычислений 95 величин были определены 44, что составило 46,3 %.
Из этого следует, что суть метода Баллаша с фильтром сводиться к следующему:
расположить переменные по возрастанию коэффициентов при них в целевой функции;
при итерационном процессе определить , удовлетворяющие все ограничения;
значение целевой функции при удовлетворении п.2 принять в качестве дополнительного фильтрующего ограничения;
методом перебора определить значение фильтрующего ограничения и проверить удовлетворение его заданным ограничениям;
если при некотором наборе значение фильтрующего ограничения окажется для целевой функции лучшим, следует от первоначального набора перейти к новому и продолжить процедуру.