а x
о 1
ij j b j , i 1 , 2, …., m. (2)
x j 0, j 1,2,(3)
, n.
x j целые числа (4)
x1 0, x2 0, (3')
x j 0, j 1,2,...,5.
Решаем задачу симплексным методом. Для наглядности решение иллюстрируем
графически (рис. 2).
На рис. 2 OKLM — область допустимых решений задачи (1') - (3'), ограниченная
прямыми (1), (2), (3) и осями координат; L(2/3; 8) — точка оптимального, но нецелочисленного
решения задачи (1') — (3'); (4) — прямая, отсекающая это нецелочисленное решение; OKNM —
область допустимых решений расширенной задачи (1') - (3'), (6'); N(2; 7) — точка оптимального
целочисленного решения.
I шаг. Основные переменные х3, х4 х5; неосновные переменные x1,x2.
x3 60 3x1 5 x2 ,
x4 34 3x1 4 x2 ,
x 8 x ,
5 2
Z=2x1+3x2.
Первое базисное решение Х1 = (0; 0; 60; 34; 8) — допустимое. Соответствующее
значение линейной функции Z1 = 0.
Переводим в основные переменные переменную х 2, которая входит в выражение
линейной функции с наибольшим положительным коэффициентом. Находим максимально
возможное значение переменной х2, которое "позволяет" принять система ограничений, из
условия минимума соответствующих отношений:
60 34 8
x2 min ; ; 8,
5 4 1
т.е. разрешающим (выделенным) является третье уравнение. При х 2 = 8 в этом уравнении х5 = 0,
и в неосновные переходит переменная х5.
II шаг. Основные переменные х2, х3, х4; неосновные переменные x1,x5.
x2 8 x5 ,
x3 20 3x1 5 x5 ,
x 2 3x 4 x ,
4 1 5
Z = 24 + 2х1 - 3х5
20 2 2
Х2 = (0; 8; 20; 2; 0); Z2 = 24. Переводим в основные переменную x1, x1 min ; ; , а в
3 3 3
неосновные x4.
III шаг. Основные переменные х1, х2, хз; неосновные переменные х4, х5.
После преобразований получим
2 1 4
x1 3 3 x4 3 x5 ,
x 2 8 x5 ,
x 18 x x ,
3 4 5
1 2 1
Z 25 x4 x5 .
3 3 3
2 1
X 3 ;8;18;0;0 ; Z 3 25
3 3
1
Базисное решение Х3 оптимально для задачи (1’) - (3') (Zmax = Z3 = 25 ), так как в
3
выражении линейной функции отсутствуют неосновные переменные с положительными
коэффициентами.
Однако решение Х3 не удовлетворяет условию целочисленности (4'). По первому
уравнению с переменной х1 получившей нецелочисленное значение в оптимальном решении
(2/3), составляем дополнительное ограничение (6):
2 1 4
x4 x5 0.
3 3 3
Обращаем внимание на то, что согласно (5) и (6) берем дробную часть свободного члена
с тем же знаком, который он имеет в уравнении, а дробные части коэффициентов при
неосновных переменных х4 и х5 — с противоположными знаками.
2 2 2 1 1 1 4 2 2
Так как дробные части 0 , 0 , 2 то
3 3 3 3 3 3 3 3 3
последнее неравенство запишем в виде
2 1 2
x4 x5 0. (6')
3 3 3
Введя дополнительную целочисленную переменную х6 0, получим равносильное
неравенству (6') уравнение
2 1 2
x4 x5 x6 0. (7')
3 3 3
Уравнение (7') необходимо включить в систему ограничений (5') исходной канонической
задачи, после чего повторить процесс решения задачи симплексным методом применительно к
расширенной задаче. При этом для сокращения числа шагов (итераций) рекомендуется вводить
дополнительное уравнение (7') в систему, полученную на последнем шаге решения задачи (без
условия целочисленности).
IV шаг. Основные переменные х1 х2, х3, х6; неосновные переменные x4, x5.
2 1 4
x1 3 3 x4 3 x5 ,
x2 8 x5 ,
x3 18 x4 x5 ,
2 1 2
x6 x4 x5 .
3 3 3
2 2
Базисное решение Х4 =( ; 8; 18; 0; 0; – ) — недопустимое. (Заметим, что после
3 3
включения в систему ограничений дополнительного уравнения, соответствующего
правильному отсечению, всегда будет получаться недопустимое базисное решение):
Для получения допустимого базисного решения необходимо перевести в основные
переменную, входящую с положительным коэффициентом в уравнение, в котором свободный
член отрицательный, т.е. х4 или х5 (на этом этапе линейную функцию не рассматриваем).
Переводим в основные, например, переменную х5.
V шаг. Основные переменные х1 х2, х3, х5; неосновные переменные x4,x6.
Получим после преобразований:
x1 2 x4 2 x6 ,
1 3
x 2 7 x 4 x6 ,
2 2
1 3
x3 19 2 x4 2 x6 ,
x 1 1 x 3 x ,
5 2
4
2
6
1 1
Z 25 x4 x6 .
2 2
X 5 2;7;19;0;1;0; Z 5 25.
Так как в выражении линейной функции нет основных переменных с положительными
коэффициентами, то Х5 — оптимальное решение.
Итак, Zmax = 25 при оптимальном целочисленном решении X* = Х5 =(2; 7; 19; 0; 1; 0), т.е.
максимальную производительность 25 т сортового зерна за смену можно получить
приобретением 2 машин типа А и 7 машин типа В; при этом незанятая площадь помещения
составит 19 кв. м, остатки денежных средств из выделенных равны 0, в резерве для покупки —
1 машина типа В (шестая компонента содержательного смысла не имеет).
Замечание. Для геометрической интерпретации на плоскости Ox1x2 (см. рис.2)
отсечения (6') необходимо входящие в него переменные х4 и x5 выразить через переменные х1 и
x2. Получим (см. 2-е и 3-е уравнения системы ограничений (5')):
2 1 2
(34 3x1 4 x2 ) (8 x2 ) 0 или x1 2 x2 16.
3 3 3
(см. отсечение прямой (4) на рис 2).►
Пример 2. Имеется достаточно большое количество бревен длиной 3 м. Бревна следует
распилить на заготовки двух видов: длиной 1,2 м и длиной 0,9 м, причем заготовок каждого
вида должно быть получено не менее 50 шт. и 81 шт. соответственно. Каждое бревно можно
распилить на указанные заготовки несколькими способами: 1) на 2 заготовки по 1,2 м; 2) на 1
заготовку по 1,2 м и 2 заготовки по 0,9 м; 3) на 3 заготовки по 0,9 м. Найти число бревен,
распиливаемых каждым способом, с тем чтобы заготовок любого вида было получено из
наименьшего числа бревен.
Решение. Обозначим через х1, x2, x3 число бревен, распиливаемых соответственно 1-м, 2-
м и 3-м способами. Из них можно получить 2х1 + x2 заготовок по 1,2 м и 2x2+ 3x3 заготовок по
0,9 м. Общее количество бревен обозначим Z. Тогда математическая модель задачи примет вид:
Z = x1 + х2 + х3 -> min (1")
при ограничениях
2 x1 x2 50,
(2")
2 x2 3x3 81,
x j 0, j 1,2,3, (3")
xj – целые числа. (4")
Введя дополнительные переменные х4 0, х5 0, приведем систему неравенств к
равносильной системе уравнений
2 x1 x2 x4 50,
2 x2 3x3 x5 81, (5")
x j 0, j 1,2,...,5.
Решая полученную каноническую задачу (без условия целочисленности) симплексным
методом, на последнем, III шаге, решения найдем следующие выражения основных переменных
и линейной функции через неосновные переменные (рекомендуем студентам получить их
самостоятельно).
III шаг. Основные переменные х1, x2, неосновные переменные x3, x4, x5,
3 3 1 1
x1 4 4 4 x3 2 x4 4 x5 ,
x2 40 1 3 x3 1 x5 ,
2 2 2
1 1 1 1
Z 45 x3 x4 x5 ,
4 4 2 4
1 3 1
т.е. Zmin=45 при оптимальном решении Х3 = (4 ; 40 ;0; 0; 0).
4 4 2
3 1
Получили, что две компоненты оптимального решения x1=4 ; x2=40 не удовлетворяют
4 2
условию целочисленности (4"), причем большую целую часть имеет компонента х2.
В соответствии с п.2 алгоритма решения задачи целочисленного программирования по второму
уравнению, содержащему эту переменную x2, составляем дополнительное ограничение (6):
1 3 1
40 x3 x5 0.
2 2 2
Найдем дробные части
1 1 1 3 1 1 1 1 1
40 40 , 1 , 1 и запишем последнее
2 2 2 2 2 2 2 2 2
неравенство в виде:
1 1 1
x3 x5 0 (6")
2 2 2
VI шаг. Основные переменные х1, x2, x3, х7; неосновные переменные x4,x5,x6.
1 1 3
x1 5 2 2 x4 x5 2 x6 ,
x2 39 2 x5 3x6 ,
x3 1 x5 2 x6 ,
1 1 1
x7 x 4 x6 ,
2 2 2
1 1 1
Z 45 x4 x6 ,
2 2 2
Опуская дальнейшее решение задачи симплексным методом (предлагаем сделать это
самим студентам), получим на заключительном, VII шаге, следующее.
VII шаг. Основные переменные х1, x2, x3, х4; неосновные переменные x5,x6,x7.
x1 6 x5 x6 x7 ,
x 39 2 x 3 x ,
2 5 6
x 3 1 x5 2 x 6 ,
x4 1 x6 2 x7 ,
Z 46 x7 ,
т.е. Z7 = 46 при X7 = (6; 39; 1; 1; 0; 0; 0).
Так как в выражении линейной функции нет неосновных переменных с отрицательными
коэффициентами, то X7 — оптимальное целочисленное решение исходной задачи.
Следует обратить внимание на то, что в полученном выражении линейной функции Z
отсутствуют неосновные переменные x5 и х6. Это означает, что, вообще говоря, существует
бесконечное множество оптимальных решений (любых, не обязательно целочисленных), при
которых Z* = Zmin = 46. Эти решения получаются при значении неосновной переменной x7
(входящей в выражение для Z), равной нулю (т.е. при x7 = 0), и при любых значениях
неосновных переменных х5 и x6 (не входящих в выражение для Z), которые "позволяет" принять
39
система ограничений: 0 x5 min 6; ;1; 1 и 0 x6 min ;13; ;1 1, т.е. при
2
0 x5 1 и 0 x6 1 . Но в силу условия целочисленности переменные x5 и x6 могут принять
только значения 0 или 1. Поэтому задача будет иметь четыре целочисленных оптимальных
решения, когда x5 и х6 в любой комбинации принимают значения 0 или 1, a x7 = 0. Подставляя
эти значения в систему ограничений на VII шаге, найдем эти оптимальные решения:
X 7 (6;39;1;1;0;0;0), X 7 (7;36;3;0;0;1;0), X 7 (5;41;0;1;1;0;0), X 7 (6;38;2;0;1;1;0).
(1) ( 2) ( 3) ( 4)
задачи 1 формируют две задачи: 2 и 3, отличающиеся друг от друга тем, что в задаче 2 кроме
* *
ограничений (2) задачи 1 добавлено ограничение 1 x1 x1 1 , а в задаче 3 кроме тех же
ограничений (2) добавлено ограничение x1 1 x1 1 . Получим список из двух задач: 2 и 3.
* *
Задача 2 Задача 3
Z 3x1 x2 max Z 3x1 x2 max
при ограничениях: при ограничениях:
4 x1 3x2 18, 4 x1 3x2 18,
x 2 x 6, x 2 x 6,
1 2 1 2
0 x1 4, 0 x1 5,
0 x2 4, 0 x2 4,
x1, х2 — целые числа. x1, х2 — целые числ
3 3 3 3
*
нецелочисленный. Так как x 2 – дробное число, из области решений исключаем полосу 0<x2<1 и
задачу 2 разбиваем на две задачи 4 и 5.
Задача 4 Задача 5
Z 3x1 x2 max Z 3x1 x2 max
при ограничениях: при ограничениях:
4 x1 3x2 18, 4 x1 3x2 18,
x 2 x 6, x 2 x 6,
1 2 1 2
0 x1 4, 0 x1 4,
0 x2 0, 0 x2 4,
x1, х2 — целые числа. x1, х2 — целые числа.
УПРАЖНЕНИЯ
В задачах 4-7 методом Гомори (или методом ветвей и границ) найти оптимальные
решения задач целочисленного линейного программирования. Дать геометрическую
интерпретацию процесса решений задач.
x1 0, x2 0, x1 0, x2 0,
x1, x2 — целые числа x1, x2 — целые числа
6. Z = 2х1 + х2 -> max 7. Z= 6х1 + х2 -> min
при ограничениях: при ограничениях:
6 x1 4 x2 24, 3x1 x2 9,
3x1 3x2 9, 2 x1 3x2 50,
x 3x 3, x 4 x 18,
1 2 1 2
x1 0, x2 0, x1 0, x2 0,
x1, x2 — целые числа x1, x2 — целые числа