Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Экономико-математические методы и модели. Курс лекций
.pdf
Получаем
4x,6x
21
.244362LL
max
Вид древесины
Запасы
древесины
Количество древесины, необходимое для
производства единицы продукции
Шкафы
Буфеты
I
120 0 4
II
160 4 0
III
120 2 2
IV
80 1 2
Прибыль
2
3
1
x
2
x
. При этом
Таким образом,
задача решена: оптимальный план производства состоит в выпуске 6 единиц
продукции П1 и 4 единиц продукции П2; прибыль при этом максимальна и составляет 24 у.е..
Замечание. Всегда ли разрешима задача линейного программирования?
Нет, не всегда. Во-первых, область решений может оказаться пустой, т.е. не содержать ни одного решения. Это означает, что система ограничений (неравенств) противоречива, т.е. задача поставлена некорректно. Если область решений является ограниченной, то любая линейная целевая функция достигает на
этой области и минимума и максимума, т.е. задача корректна и разрешима. Если же область решения неограниченная, то целевая функция может не иметь
требуемого минимума или максимума — это тоже свидетельствует о некорректной постановке задачи.
1.4. Понятие о симплекс-методе
Рассмотрим следующую задачу. Для изготовления шкафов и буфетов деревообделочный завод применяет древесину четырех видов. Запасы древесины,
количество единиц древесины каждого вида, необходимое для изготовления
одного шкафа и одного буфета, а также прибыль, получаемая заводом от реализации единицы продукции, даны в таблице.
Таблица
Требуется составить такой план выпуска продукции, который обеспечивает заводу наибольшую прибыль от реализации всей продукции.
Математическая формулировка задачи
Пусть
и
— соответственно количество шкафов и буфетов, заплани-
рованных к производству. Так как количество древесины каждого вида ограничено, то должны выполняться следующие неравенства:
21

.80x2x1
,120x2x2
,160x0x4
,120x4x0
21
21
21
21
21
x3x2L
.0x,0x
,80x2x
,120x2x2
,160x4
,120x4
21
21
21
1
2
6543
x,x,x,x
,80xx2x
*,120xx2x2
,160xx4
,120xx4
621
521
41
32
.6,...,2,1j,0x
j
6543
x,x,x,x
44
1
x
2
x
Целевая функция (прибыль) дается выражением
. Задача сво-
дится к нахождению максимума функции L при ограничениях
Симплекс-метод разработан для системы ограничений в виде уравнений.
Такая постановка задачи линейного программирования называется канониче-
ской. Для перехода от ограничений-неравнств к системе уравнений прибавим к
левым частям первых четырех неравенств добавочные неотрицательные пере-
менные
. Для нашей задачи эти переменные имеют вполне кон-
кретный смысл: это объемы остатков древесины после выполнения плана по
выпуску продукции. После введения добавочных переменных система ограничений имеет вид, соответствующий канонической задаче:
Теперь нам надо найти какое-либо допустимое базисное решение этой системы ограничений. Напомню, что допустимым называется решение, удовлетворяющее всем вышеприведенным условиям.
Система (*) содержит 4 уравнения с 6 неизвестными. Без всяких дополнительных вычислений ясно, что ранг этой системы равен 4: достаточно заметить,
что матрица коэффициентов при переменных
сти
зисных, и полагая свободные переменные
зисное решение (0;0;120;160;120;80), которое к тому же является допустимым
, т.е. ее определитель равен 1. Выбирая эти переменные в качестве ба-
и
22
равными нулю, получим ба-
единичная размерно-

(в решении нет отрицательных переменных). Так бывает не всегда. Иногда пер-
6543
x,x,x,x
1
x
2
x
1
x
2
x
.x3x2L
,x2x80x
,x2x2120x
,x4160x
,x4120x
21
216
215
14
23
0xx
21
0L
1
x
2
x
2
x
2
x
2
x
4
120
30x2
3
x
60x2
40x2
2
x
3040,60,30min
2
80
,
2
120
,
4
120
minx
2
0x3
3
x
6542
x,x,x,x
1
x
3
x
вое полученное решение не является допустимым и приходится находить допустимое решение. В нашем случае этого делать не надо и можно сразу перейти к
последовательным шагам отыскания оптимального решения.
1 шаг. Базисные переменные
, свободные переменные
,
. В
системе (*) выразим базисные переменные через свободные, через них же
должна быть выражена и целевая функция (в нашей задаче на первом шаге она
уже выражена через переменные
,
):
(**)
При
При этом
получаем исходное базисное решение (0;0;120;160;120;80).
(завод ничего не выпускает, прибыль равна нулю).
Теперь надо перейти к новому решению, чтобы целевая функция увеличилась. Из выражения для L видно, что ее значение возрастает при увеличении
и
. Это означает, что их невыгодно считать свободными (равными нулю) и
следует перевести в разряд базисных. Это и будет переход к новому базисному
решению. В симплекс-методе в число базисных на каждом шаге переводится
только одна из свободных переменных. Разумно вначале перевести в базисные
переменную
, т.к. она входит в целевую функцию с большим коэффициен-
том. Но следует также решить, какую из переменных вывести из состава базисных и перевести в разряд свободных.
Будем исходить из того, что переменную
следует сделать как можно
большей, т.к. это соответствует конечной цели — максимизации функции L.
Но из первого уравнения (**) ясно, что
т.е.
, поскольку при этом переменная
не может превышать числа
остается неотрицательной.
Аналогично, из третьего и четвертого уравнений системы (**) следует, что
и
(во второе уравнение переменная
не входит). Другими
словами, для ответа на вопрос, какую переменную надо ввести в состав свобод-
ных, надо принять
именно
переходит в число свободных переменных, а остальные базисные
. Тогда
и
,
переменные остаются положительными.
Выразим базисные переменные и целевую функцию через свободные. В систе-
2 шаг. Базисные переменные
, свободные переменные
23
,
.

ме (**) берем то уравнение , из которого получено минимальное отношение
2
x
32
x25,030x
2
x
.x75,0x290L
,x5,0x20x
,x5,0x260x
,x4160x
,x25,030x
31
316
315
14
32
0xx
31
90L
1
x
1
x
20
1
20
2
60
,
4
160
minx
1
0x6
6
x
4
x
5
x
0x6
5421
x,x,x,x
3
x
6
x
631
xx5,020x
.x2x25,0130L
,x2x5,020x
,x4x280x
,x25,030x
,xx5,020x
63
635
634
32
631
3
x
3
x
40
5,0
20
,
2
80
,
25,0
30
,minx
3
свободного члена к коэффициенту при
то). Из него получаем
. Это первое уравнение (подчеркну-
. Подставим это выражение
во все
остальные уравнения системы (**) и в функцию L и, приведя подобные члены,
получим:
(***)
При
не максимум, т.к. переменная
получаем
. Это лучше, чем на шаге 1. Но это еще
входит в выражение для L с положительным
коэффициентом. Поэтому ее следует перевести в разряд базисных. Опять возникает вопрос: какую переменную следует вывести из состава базисных вместо
? Следуя логике, обсужденной на шаге 1, примем
Тогда
и в число свободных переменных переходит
, а
и
оста-
ются при этом положительными. Подчеркнуто четвертое уравнение системы
(***), т.к. именно из него получено равенство
3 шаг. Базисные переменные
, свободные переменные
.
,
Выразим базисные переменные и функцию L через свободные переменные. Из
четвертого (подчеркнутого) уравнения системы (***) имеем
а после подстановки в остальные уравнения получим:
(****)
Из выражения для целевой функции следует, что ее значение увеличилось
.
.
,
по сравнению с шагом 2, но максимум еще не получен (коэффициент при
положительный). Переменную
Здесь следует обсудить два новых обстоятельства.
.
следует ввести в базисные. Полагаем
24

Во-первых, хотя переменная
3
x
1
x
3
x
1
x
3
x
40x3
0x4
0x5
4
x
5
x
4
x
5
x
4321
x,x,x,x
5
x
6
x
5
x
6
x
.x4x5,0140L
,x4x40x
,x4x240x
,xx5,020x
,xx40x
65
654
653
652
651
5
x
6
x
140L
max
и входит в выражение для
(первое
уравнение системы (****)), но имеет положительный коэффициент, так что при
любом возрастании
словами, в первом уравнении нет ограничений на рост
переменная
не может стать отрицательной. Другими
, поэтому использован
символ . Условимся использовать этот символ и в том случае, если переменная, вводимая в число базисных, не входит в какое-либо уравнение системы
ограничений.
Во-вторых, мы получили два одинаковых минимальных значения, равные 40.
Если положить
менные перевести и
, то
, и
и
. Вроде бы следует в свободные пере-
. Но так действовать нельзя: число базисных перемен-
ных должно быть всегда равно 4 (рангу системы). Поэтому поступают так: одну из
двух таких переменных (все равно какую) оставляют в числе базисных, но приписывают ей нулевое значение. Такое базисное решение называется вырожденным.
Это не представляет трудностей для дальнейших вычислений.
Оставим
4 шаг. Базисные переменные
Выразим через
в числе базисных переменных, а
, свободные переменные
,
базисные переменные и целевую функцию, используя
переведем в свободные.
,
четвертое уравнение системы (****). В итоге получим
.
Так как в выражение для целевой функции свободные переменные
входят с отрицательными коэффициентами, дальнейшее ее увеличение не-
и
возможно: мы отыскали максимум.
Отсутствие на каком-либо шаге симплекс-метода в выражении для целевой
функции свободных переменных с положительными коэффициентами является
критерием оптимальности. Если целевая функция минимизируется, то коэффициенты при всех свободных переменных должны стать положительными.
Таким образом, на 4 шаге критерий оптимальности выполнен и задача решена. Оптимальным является решение (40;20;40;0;0;0), при котором
.
Для получения максимальной прибыли 140 ден. ед. из данных запасов древесины завод должен изготовить 40 шкафов и 20 буфетов, При этом древесина II, III
и IV видов будет израсходована полностью, а 40 ед. древесины I вида останутся неизрасходованными.
25

В рассмотренной задаче первое же полученное базисное решение было до-
i
x
3,2,1j,0x
,4x6x2x
,2xxx
,5x3x2x
min,x9x7x6xL
j
321
321
321
321
654
x,x,x
.6,...,1j,0x
,4xx6x2x
,2xxxx
,5xx3x2x
j
6321
5321
4321
.
1101300
3011210
2010111
2110510
3011210
2010111
4100621
2010111
5001321
3rr
BA
21
x,x
6
x
43
x,x
5
x
436
xx31x
436
xx31x
пустимым (все переменные
оказались неотрицательными). Рассмотрим еще
один пример, в котором приходится допустимое базисное решение отыскивать.
Пример. Решить с помощью симплекс-метода задачу:
Поскольку ограничения заданы в виде неравенств, приведем задачу к канонической форме, прибавив к их левым частям слагаемые
:
Выпишем расширенную матрицу этой системы и найдем решение методом Гаусса:
Очевидно,
. Можно выбирать различные наборы базисных и сво-
бодных переменных. Конечно, желательно было бы сразу получить допусти-
мое базисное решение. Но мы как раз и собираемся понять, как действовать, если базисное решение недопустимое. Поэтому в качестве примера будем счи-
тать
и
базисными переменными, а
и
— свободными. Выра-
зим базисные переменные через свободные. Из третьего уравнения (третьей
строки) получаем
, т.е.
26
.

Аналогично, из второго и третьего уравнений находим
5432
xxx23x
535435321
xxxxx232xxx2x
5431
x2xx1x
1,0,0,0,3,1
0x1
1
x
1
x
3
x
5
x
1
x
5
x
3
x
5
x
2
1
2
1
,3,minx
5
2
1
x5
1
x
1
x
1
x
4315
xxx1x2
4315
x
2
1
x
2
1
x
2
1
2
1
x
436
xx31x
5
x
431435432
x
2
1
x
2
1
x
2
1
2
1
xx23xxx23x
4312
x
2
1
x
2
3
x
2
1
2
5
x
1,
2
1
,0,0,
2
5
,0
,
, т.е.
.
Полагая свободные переменные нулевыми, получим базисное решение
, которое не является допустимым, т.к.
.
Для получения допустимого решения будем действовать приблизительно
так же, как при отыскании оптимума целевой функции. Только теперь надо обращать внимание не на целевую функцию, а на переменные, которые получи-
лись в базисном решении отрицательными, в нашем случае на
для
базисных переменных
тельными коэффициентами. Коэффициент при
в базисные переменные переводим
шении предыдущей задачи, полагаем
переменную
видно, что увеличить эту переменную можно за счет перевода в разряд
или
, т.к. в выражение для
они входят с положи-
больше, чем при
. Следуя методике, обсужденной при ре-
. При этом, поскольку
получено из уравнения для
. Из уравнения для
, в разряд свободных переводим именно
получаем
. Из уравнения
, поэтому
, откуда
.
т.е является допустимым.
Выразим новые базисные переменные через свободные:
(это уравнение не изменилось, т.к.
в него не входит),
.
Новое базисное решение, таким образом, получилось таким:
27
, т.е.
,

Целевая функция через новые свободные переменные приводится к виду:
431321
x
2
7
x
2
3
x
2
5
2
35
x9x7x6L
3
x
11,,
3
5
minx
3
5
x
5
x
5413
x2xx1x
6
x
2
x
5416
x6x4x34x
5412
x3xx21x
541321
x3x2x16x9x7x6L
16L
min
1,1,0x,x,x
321
.
Минимум функции пока не достигнут, т.к. дальнейшего ее уменьшения
можно добиться за счет перевода
, делаем вывод, что переменная
в свободные; из уравнения для
получаем
в разряд базисных. Полагая
должна быть переведена
, а для
и
:
,
.
Теперь целевая функция выражается через новые свободные переменные в виде:
,
т.е. достигает минимума
при
.
Замечание. В общем случае при использовании симплекс-метода может
понадобиться несколько шагов для нахождения допустимого базисного решения (если в первоначальном решении несколько отрицательных переменных) и
несколько шагов для нахождения оптимального решения.
1.5 Транспортная задача
1.5.1. Формулировка транспортной задачи
Простейшая транспортная задача — это задача о перевозках некоторого
однородного груза из пунктов отправления (от поставщиков) в пункты назначения (к потребителям) при обеспечении минимальных затрат на перевозки.
Пусть имеется k поставщиков и l потребителей. Начальные условия задачи обычно записывают в виде следующей таблицы (табл. 1).
28

Таблица 1
Поставщики
Ресурсы
поставщиков
Потребители и их спрос
1 2 … j …
l
1
N
2
N
…
j
N
…
l
N
1
1
M
11
a
11
x
12
a
12
x
…
j1
a
j1
x
…
l1
a
l1
x
2
2
M
21
a
21
x
22
a
22
x
…
j2
a
j2
x
…
l2
a
l2
x
…
…
… …
…
…
…
…
i
i
M
1i
a
1i
x
2i
a
2i
x
…
ij
a
ij
x
…
il
a
il
x
…
…
… …
…
…
…
…
k
k
M
1k
a
1k
x
2k
a
2k
x
…
kj
a
kj
x
…
kl
a
kl
x
ij
a
k,...,1i
l,...,1j
i
M
j
N
ij
x
klklijij12121111
xa...xa...xaxaL
В таблице через
поставщика
сурс) i-го поставщика,
обозначены затраты на перевозку единицы груза от i-го
к j-му потребителю
— спрос j-го потребителя. Величина
,
— запас груза (ре-
обозна-
чает поставку (количество груза) от i-го поставщика к j-му потребителю.
Математическая формулировка задачи.
Математически задача сводится к минимизации целевой функции, равной
суммарным затратам на перевозку, т.е. функции
, (1.5.1)
при ограничениях
29

.Nx...xx
.....................................
,Nx...xx
,Nx...xx
,Mx...xx
......................................
,Mx...xx
,Mx...xx
lkll2l1
22k2212
11k2111
kkl2k1k
2l22221
1l11211
l
1j
j
k
1i
i
NM
kl1211
x;...;x;x
lk
lkkl
(1.5.2)
Будем рассматривать закрытую модель транспортной задачи, в которой
предполагается, что суммарный ресурс поставщиков равен суммарному спросу
покупателей, т.е.
ствить, т.е. транспортная задача разрешима. Любое решение транспортной задачи – это набор переменных
основных клеток в таблице 1). Любой такой набор называется распределением
поставок (разумеется, все поставки неотрицательны). Оптимальному решению
транспортной задачи соответствует оптимальное распределение поставок, при
котором целевая функция (1.5.1) достигает минимума.
шения транспортной задачи. Суть метода состоит в том, что сначала находится
некоторое начальное распределение поставок, затем производится ряд перерасчетов поставок, позволяющих на каждом последующем шаге уменьшать
значение целевой функции. На каждом шаге используются расчетные таблицы
типа табл. 1.
перерасчета существует несколько. Мы познакомимся только с двумя из них.
ний (1.5.2). В этой системе
шении транспортной задачи используют базисные решения, т.е. те решения системы (1.5.2), для которых базисные переменные отличны от нуля, а свободные
переменные равны нулю (см. п. 1.1). В первую очередь возникает вопрос:
сколько имеется базисных переменных? Формальный ответ нам известен: число
. (1.5.3)
В такой постановке минимизацию функции (1.5.1) всегда можно осуще-
(их число равно kl, т.е. числу
В дальнейшем мы будем пользоваться распределительным методом ре-
Методов расчета первоначального распределения поставок и способов их
1.5.2. Первоначальное распределение поставок.
Метод учета наименьших затрат
Любое распределение поставок — это некоторое решение системы уравне-
, т.е. формально система имеет бесконечное число решений. При ре-
уравнений и kl неизвестных. Как правило
30
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
