![](/user_photo/_userpic.png)
книги из ГПНТБ / Постнов Ю.И. Линейное программирование в сельском хозяйстве
.pdf0,01*і + 0,05х2 |
+ х3 = ЮОО |
|
|
||
0,2 |
*i + 0,l |
*2 |
+ *4 = 8000 |
|
(3) |
0,02 l*i + 0,03*2 + *5 — 900. |
|
|
|||
Неизвестные *і |
и * 2 назовем основными |
неизвестными, |
|||
а неизвестные *з, * 4 и *5 — дополнительными. |
|
||||
Экономический |
смысл |
дополнительных |
неизвестных |
||
очень прост: |
|
|
|
|
|
*з — количество недоиспользованной пашни; |
|
||||
*4 — количество недоиспользованных человеко-дней; |
|
||||
*5 — количество недоиспользованных тракторо-смен. |
|
||||
Если при решении задачи |
окажется, что *з = 0, то |
это' |
|||
означает, что на производство картофеля |
и ячменя |
ис |
пользована вся пашня; если х4= 0, то использованы все
человеко-дни, |
и, наконец, |
если *5 = 0, то использованы |
|||
все тракторо-смены. |
|
|
|
|
|
Равенства (3) |
запишем |
теперь так, |
чтобы |
члены с |
|
одноименными |
неизвестными |
оказались |
один |
под дру |
|
гим: |
0,01*1 + 0,05*2 |
+ * з = Ю00 |
|
||
|
|
||||
|
0,2 *і + 0,1 |
* 2 |
* 4 = 8000 |
|
|
0,21*1 + 0,03*2 |
|
+ *5 = 900. |
|
Эти равенства обладают одной особенностью, благодаря которой к решению нашей задачи можно применить сим плексный метод: каждое из них содержит одну неизвест ную величину с коэффициентом, равным единице, кото рой нет во всех остальных равенствах. Так, в первом равенстве содержится неизвестная величина * 3, но она отсутстует в остальных равенствах; во втором равенстве есть величина * 4, которая не входит в первое и третье равенства; и, наконец, имеющаяся в третьем равенстве неизвестная *5 отсутствует в остальных равенствах.
Так как для решения задачи нам потребуются коэффи циенты при всех неизвестных в этих равенствах, то, что бы не допустить ошибок, запишем их в следующем виде:
32
0,01 |
Хі Т0,05х2“Ь х3 Т 0х4-ТOxs = 1000 |
|
0,2 |
Xi + 0,1 Х2 + О Х 3+ х4+ 0x5 = 8000 |
(5) |
0,021X] + 0,03x2 Т Охз + 0х4+ Х5 = 900, |
|
т. е. если какое-нибудь из равенств не содержит некото рую величину, это значит, что оно ее содержит с коэф фициентом, равным 0. Дополнительные неизвестные вве дем в функцию цели с коэффициентами, равными нулю:
С = Зхі -f-5x2-f-Охз Т 0х4Т ОХ5. |
(4) |
Исходная задача теперь может быть сформулирована так: найти наибольшее значение функции (4) при вы полнении ограничений (3).
Решение задачи симплексным методом производится при помощи составления симплексных таблиц.
Первая симплексная таблица содержит три строки коэф фициентов при неизвестных в равенствах (3) и одну строку коэффициентов функции цели. Все эти коэффи циенты записаны в соответствующих столбцах неизвест ных х ь х2, х3, х4 и х5.
В качестве исходного берем такой план, при котором продукция не производится, и, следовательно, все налич ные ресурсы остаются неиспользованными. Математиче ски это значит, что
*і = 0, х2 = 0, х3= 1000, х 4 = 8000, х5 = 900.
В столбец «План» в соответствующие строки записываем лишь те величины, которые отличны от нуля. В первый столбец («Цены») записываем коэффициенты функции цели при неизвестных х3, х4 и Х5, взятые со знаками ми нус. Так как эти коффициенты в нашем случае нули, то безразлично, с какими знаками их брать. Поэтому пишем во всех строках первого столбца просто нули.
Четвертая строка второго столбца («План») предназна чается для всей валовой продукции в денежном выраже-
3 -3 6 |
33 |
нии (в руб.). Так как в исходном плане продукция не производится, то в этой клетке пишем нуль. Итак, первая симплексная таблица имеет такой вид (табл. 7):
|
|
|
|
|
Таблица 7 |
|
Цены с |
План |
*і |
|
*3 |
*4 |
*5 |
минусом- |
|
|||||
0 |
*3=1000 |
0,01 |
0,05 |
1 |
0 |
0 |
0 |
*4=8000 |
0,2 |
0,1 |
0 |
1 |
0 |
0 |
*5= £00 |
0,021 |
0,03 |
0 |
0 |
1 |
|
0 |
3 |
5 |
0 |
0 |
0 |
Желательно как можно скорее получить наибольшее значение валовой продукции в рублях. Поэтому попы таемся вначале в план ввести ячмень, так как он имеет большую цену 1 ц.
Как это сделать?
В четвертой строке столбцов неизвестных выбираем наи большее положительное число, и тот столбец, которому оно принадлежит, называем генеральным столбцом таб лицы. В нашем примере наибольшее положительное чис ло 5 находится в столбце х2. Следовательно, столбец х2 генеральный. В нем отмечаем положительные элементы (числа) во всех строках, кроме последней. В нашем слу чае все элементы — 0,05, 0,1 и 0,03 — положительные. Составляем отношения элементов плана к соответствую
34
щим (по строкам) положительным элементам генераль ного столбца:
1000 : 0,05 = 20 000; 8000 : 0,1 =80 000; 900 : 0,03 = 30 000.
Первое из этих чисел показывает, сколько ячменя можно произвести за счет использования всей пашни, второе — за счет использования всех человеко-дней и, наконец, третье — за счет использования всех тракторо-смен.
Если при имеющихся ресурсах надо производить только один ячмень, то больше 20 000 ц произвести его не удаст ся, так как не позволят размеры пашни. По этой причи не из всех полученных чисел выбираем наименьшее число (20 000), а строку, которой оно соответствует (в данном случае первую строку), называем генеральной строкой таблицы.
Элемент 0,05, находящийся и в генеральном столбце, и в генеральной строке, называется генеральным элемен том таблицы.
Таблица 8
Цены с |
План |
*1 |
Х3 |
Хі |
*5 |
минусом |
|||||
- 5 |
х2 |
|
|
|
|
0 |
|
|
|
|
— |
Хі |
|
|
|
|
|
0 |
Хц |
|
|
|
|
3’ |
35 |
Генеральный столбец показывает, какую из неизвестных надо включить в план, а генеральная строка — какую из неизвестных вывести. То есть на место неизвестной х3 в план надо ввести неизвестную х2. (См. общий вид второй симплексной таблицы — табл. 8).
В первом столбце («Цены») в строке х2 пишем цену 1 ц ячменя, взятую со знаком минус, и сохраняем нули во второй и третьей строках.
Теперь переходим к вычислению элементов второй симп лексной таблицы. Прежде всего вычисляем элементы строки, стоящей на месте генеральной. Так как первая строка в первой таблице была генеральной, то вначале мы вычисляем элементы первой строки. Для этого эле менты генеральной строки, кроме элемента в первом столбце (цены), делим на генеральный элемент 0,05:
1000:0,05 = 20 000; 0,01:0,05 = 0,2; 0 ,05:0,05= 1; 1:0,05 = 20; 0 :0 ,0 5 = 0; 0 :0 ,0 5 = 0.
Полученные результаты записываем в те клетки, в кото
рых находились делимые. |
После |
этого |
вторая |
таблица |
|||
примет вид (табл. |
9): |
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 9 |
|
Ц е н ы с |
П л а н |
Хі |
Х3 |
Хз |
Хі |
*5 |
|
м и н у с о м |
|||||||
- 5 |
* 3 = 2 0 |
0 0 0 |
0 , 2 |
1 |
2 0 |
0 |
0 |
0 |
Х і= |
|
|
|
|
|
|
0 |
* 5 = |
|
|
|
|
|
|
38
Используя полученные элементы первой строки, теперь можно вычислить элементы всех столбцов. Начнем с вы числения элементов второго столбца («План»), В этом столбце нам известен один элемент, то есть 20 000. Для вычисления остальных число 20 000 умножаем на все элементы генерального столбца, кроме генерального элемента, и полученные результаты вычитаем из соот ветствующих по строкам элементов старого плана.
В результате получаем числа:
= 8000 - |
20 000 |
- |
0 ,1 = 8000 - |
2000 = 6000 |
лт5 = 900 - |
20 0 0 |
0 |
.0 ,0 3 = 900 - |
600 = 300 |
0— 20 000 -5 = — 100 000,
которые вписываем в план второй таблицы. Таблица принимает такой вид (табл. 10):
Таблица 10
Ц е н ы с |
|
П л ан |
|
Хі |
|
*з |
Хі |
Х3 |
м и н у с о м |
|
|
|
|||||
- 5 |
|
= 2 0 |
0 0 0 |
0 , 2 |
1 |
2 0 |
0 |
0 |
0 |
|
= 6 |
0 0 0 |
|
|
|
|
|
0 |
х ь = 3 0 0 |
|
|
|
|
|
||
|
— |
1 0 0 |
0 0 0 |
|
|
|
|
|
Элементы остальных столбцов вычисляются совершенно аналогично. Для вычисления недостающих элементов
37
столбца Xi известный элемент 0,2 этого столбца умно жаем на все элементы генерального столбца, кроме ге нерального элемента, и полученные результаты вычитаем из соответствующих элементов старого столбца Х\.
Б результате получаем числа:
0,2—0,2- 0,1 =0,2 —0,02= 0,18; 0,021-0,2 • 0,03 = 0,015; 3—0,2 - 5= 3—1=2,
которые вписываем
(табл. 11).
Ц ен ы |
с |
П л а н |
|
|
м и н усом |
|
|||
|
|
|
||
-5 |
|
х 2 = |
2 0 |
0 0 0 |
0 |
|
* 4 = |
6 |
0 0 0 |
0 |
|
* |
СО о о |
|
|
|
|
!! |
|
встолбец xt новой таблицы
Таблица 11
*1 |
Л*2 |
*3 |
Хі |
х 5 |
0 , 2 |
1 |
2 0 |
0 |
0 |
0,18 |
|
|
|
|
0,015 |
|
|
|
|
- |
1 0 0 |
0 0 0 |
2 |
При вычислении элементов нового столбца х2, получим:
0,1-1 -0,1=0; 0,03-1-0,03 = 0; 5 -1 -5 = 0,
так как в данном случае элементы генерального столбца приходится умножать на единицу и полученные резуль таты вычитать из элементов этого же столбца.
38
Для нового столбца х3 находим так:
0 - 2 0 - 0 ,1 = - 2 ; 0 - 2 0 - 0 ,0 3 = - 0 , 6 ; 0 - 2 0 - 5 = - 1 0 0 .
В столбцах х4 и х$ все элементы остаются теми же, что и в первой симплексной таблице, так как при умножении элементов генерального столбца на нуль получим нули, при вычитании которых из элементов старых столбцов х4 и *5 изменить их нельзя.
Полностью заполненная вторая симплексная таблица
имеет вид |
(табл. 12): |
|
|
|
|
|
|
|
|
|
|
Таблица 12 |
|
Ц е н ы с |
П л а н |
Xi |
|
*3 |
Хі |
Хъ |
м и н у с о м |
|
|||||
- 5 |
х 2 = 2 0 0 0 0 |
0 , 2 |
1 |
2 0 |
0 |
0 |
0 |
Х і = 6 0 0 0 |
0 ,1 8 |
0 |
- 2 |
1 |
0 |
0 |
х ъ — 3 0 0 |
0 ,0 1 5 |
0 |
- 0 , 6 |
0 |
1 |
|
— 1С0 ОСО |
2 |
0 |
- 1 0 0 |
0 |
0 |
Рассмотрим план этой симплексной таблицы.
Так как неизвестная Х\ в план не входит, то это означает, что картофель не производится.
Равенство х2 = 20 000 говорит о том, что |
производится |
20 000 ц ячменя. |
|
Так как неизвестная х3 в план не входит, |
то это значит, |
что вся пашня использована на производство ячменя.
39
Равенства *4 = 6000 и *5 = 300 свидетельствуют о том, что неиспользованными остаются 6000 чел.-дн. и 300 тракто- ро-смен. Возникает вопрос: возможно ли дальнейшее улучшение плана? На этот вопрос можно ответить так: если во второй симплексной таблице (табл. 12) послед няя строка в столбцах неизвестных содержит хотя бы один положительный элемент, то дальнейшее улучшение плана возможно, а если же не содержит ни одного поло жительного элемента — невозможно.
В нашем примере вторая симплексная таблица содер жит положительный элемент 2 и, следовательно, можно произвести улучшение плана, для чего составляется
третья симплексная таблица. Повторяется весь извест ный нам процесс. Так как число 2 принадлежит столб цу *і, то он и является генеральным. В нем снова отме чаем положительные элементы во всех строках, кроме последней, и составляем отношения элементов плана к соответствующим (по строкам) положительным элемен там генерального столбца. Этими отношениями будут:
20 000 : 0 ,2 = 1 0 0 000
6000 : 0,18 = 33 333 300:0,015 = 20 000.
Как видно, наименьшим является число 20 000, оно соот ветствует третьей строке, которая и является генераль ной во второй симплексной таблице. Генеральный эле мент— число 0,015. Вместо неизвестной *5 следует ввести в план неизвестную х\. (Общий вид третьей симп лексной таблицы см. ниже — табл. 13).
Вычисляем элементы этой таблицы.
Как и раньше, вычисления начинаем с элементов той строки, которая стоит на месте генеральной строки в пре дыдущей таблице, то есть в данном случае третьей стро ки. Все ее элементы получаются в результате деления
40
Таблица 13
Ц е н ы с |
П л а н |
*1 |
Хз |
Хі |
*5 |
м и н усом |
|||||
- 5 |
* 2 = |
|
|
|
|
0 |
|
|
|
|
|
- 3 |
* 1 = |
|
|
|
|
элементов генеральной строки второй таблицы на гене ральный элемент 0,015. Производим вычисления:
300 : 0,015 = 20 000; |
0,015 : 0,015=1; |
0 : 0,015 = 0; |
- 0 , 6 : 0 ,0 1 5 = - 4 0 ; |
0:0,015 = 0; |
1:0,015 = 67. |
Полученные результаты записываем в те же клетки, в которых находились делимые. Теперь третья симплекс ная таблица принимает новый вид (табл. 14).
Дальнейшие вычисления производим по столбцам. Во втором столбце «План» уже известен один элемент — число 20 000; его умножаем на все элементы генерально го столбца (кроме генерального элемента) второй симп лексной таблицы (табл. 12) и полученные результаты вычитаем из соответствующих чисел столбца «План» той же второй симплексной таблицы:
20 0 0 0 - |
2 0 0 00 -0,2= 16 000 |
||
6 0 0 0 |
-2 0 0 0 0 - 0 |
,1 8 |
= 2 400 |
- 100 0 0 0 - 2 0 000 •2 |
= - |
140 000. |
41