Максимизировать 4x1+3x2
при ограничениях
x1 £ 4000;
x2 £ 6000;
x1 + x2 £ 6000;
x1, x2 ³ 0.
Расширенная форма задачи имеет такой вид:
максимизировать 4x1+3x2
при ограничениях
1x1 + 0x2 + 1x3 + 0x4 + 0x5 = 4000;
0x1 + 1x2 + 0x3 + 1x4 + 0x5 = 6000;
1x1 + 2/3x2 + 0x3 + 0x4 + 1x5 = 6000;
Так как A 0>0, а векторы A 3, A 4, A 5 образуют единичный базис, то задачу можно решать методом симплекс-таблиц.
Первая итерация. Составляем и заполняем начальную симплекс-таблицу (табл.2.3).
Таблица 2.3.
Ci | |||||||||
Bx | Ai0 | A1 | A2 | A3 | A4 | A5 | |||
| X3 | ||||||||
X4 | |||||||||
X5 | 1/3 | ||||||||
D | -4 | -3 |
Поскольку –4<–3<0, то направляющий столбец – первый.
Составив отношение вида ,определим направляющую строку.Для этого находим
.
Итак, направляющая строка -первая, направляющий элемент a 11 = 1.
Выполнив первую итерацию симплекс-метода, получим табл. 2.4.
Таблица 2.4.
Ci | |||||||||||
Bx | ai0 | A1 | A2 | A3 | A4 | A5 | |||||
X1 | |||||||||||
X4 | |||||||||||
| X5 | 2/3 | -1 | ||||||||
D | -3 |
Вторая итерация. Как видим с табл. 2.4.,направляющий столбец – второй, а направляющая строка – третья, так как
Выполнив очередную итерацию симплекс-метода, получим симплекс-таблицу 2.5.
Таблица 2.5.
Ci | |||||||||
Bx | ai0 | A1 | A2 | A3 | A4 | A5 | |||
X1 | |||||||||
| X4 | 3/2 | -3/2 | ||||||
X2 | -3/2 | 3/2 | |||||||
D | -1/2 | 9/2 |
Третья итерация. Так как a 03 = -1/2 <0, то направляющий столбец A 3, а направляющая строка – вторая, поскольку a 23 = 3/2. Выполнив очередную итерацию с направляющим элементом a 23 = 3/2, получим симплекс-таблицу 2.6.
Таблица 2.6.
Ci | |||||||
Bx | ai0 | A1 | A2 | A3 | A4 | A5 | |
X1 | -2/3 | ||||||
X3 | 2/3 | -1 | |||||
X2 | |||||||
D | 1/3 |
Поскольку в индексной строке табл. 2.6. все оценки положительны, то найдено оптимальное решение: x 1 опт = 2000, x 2 опт = 6000, x 3 опт = 2000.
Соответствующее значение целевой функции:
max(4 x 1 + 3 x 2) =a 00 = 26000 = 4 x 1опт + 3 x 2опт.
Транспортная задача. Различные технико-экономические и экономические задачи менеджмента, от оптимальной загрузки станка и раскройки стального листа или полотна ткани до анализа межотраслевого баланса и оценки темпов роста экономики страны в целом, приводят к необходимости решения тех или иных задач линейного программирования. В книге [1] приведен обширный перечень публикаций, посвященный многочисленным применениям линейного программирования в металлургии, угольной, химической, нефтяной, бумажной и прочих отраслях промышленности, в проблемах транспорта и связи, планирования производства, конструирования и хранения продукции, сельском хозяйстве, в научных исследованиях, в том числе экономических, и даже при регулировании уличного движения.
|
|
В качестве очередного примера рассмотрим т.н. транспортную задачу. Имеются склады, запасы на которых известны. Известны потребители и объемы их потребностей. Необходимо доставить товар со складов потребителям. Можно по-разному организовать "прикрепление" потребителей к складам, т.е. установить, с какого склада какому потребителю и сколько вести. Кроме того, известна стоимость доставки единицы товара с определенного склада определенному потребителю. Требуется минимизировать издержки по перевозке.
Например, может идти речь о перевозке песка - сырья для производства кирпичей. В Москву песок обычно доставляется самым дешевым транспортом - водным. Поэтому в качестве складов можно рассматривать порты, а в качестве запасов - их суточную пропускную способность. Потребителями являются кирпичные заводы, а их потребности определяются суточным производством (в соответствии с имеющимися заказами). Для доставки необходимо загрузить автотранспорт, проехать по определенному маршруту и разгрузить его. Стоимость этих операций рассчитывается по известным правилам, на которых не имеет смысла останавливаться. Поэтому затраты на доставку товара с определенного склада тому или иному потребителю можно считать известными.
Рассмотрим пример транспортной задачи, исходные данные к которой представлены в табл. 3. В ней, кроме объемов потребностей и величин запасов, приведены стоимости доставки единицы товара со склада i, i = 1,2,3, потребителю j, j = 1,2,3,4. Например, самая дешевая доставка - со склада 2 потребителям 1 и 3, а также со склада 3 потребителю 2. Однако на складе 2 имеется 80 единиц товара, а потребителям 1 и 3 требуется 50+70 =120 единиц, поэтому к ним придется вести товар и с других складов. Обратите внимание, что в табл.3 запасы на складах равны суммарным потребностям. Для примера с доставкой песка кирпичным заводам это вполне естественное ограничение - при невыполнении такого ограничения либо порты будут засыпаны горами песка, либо кирпичные заводы не выполнят заказы.
Таблица 3.
Исходные данные к транспортной задаче.
Потреби-тель 1 | Потреби-тель 2 | Потреби-тель 3 | Потреби-тель 4 | Запасы на складах | |
Склад 1 | |||||
Склад 2 | |||||
Склад 3 | |||||
Потреб-ности |
Надо спланировать перевозки, т.е. выбрать объемы Хij поставок товара со склада i потребителю j, где i = 1,2,3; j = 1,2,3,4. Таким образом, всего в задаче имеется 12 переменных. Они удовлетворяют двум группам ограничений. Во-первых, заданы запасы на складах:
X 11 + Х 12 + Х 13 + Х 14 = 60,
X 21 + Х 22 + Х 23 + Х 24 = 80,
X 31 + Х 32 + Х 33 + Х 34 = 60.
Во-вторых, известны потребности клиентов:
X 11 + Х 21 + Х 31 = 50,
X 12 + Х 22 + Х 32 = 40,
X 13 + Х 23 + Х 33 = 70,
X 14 + Х 24 + Х 34 = 40.
Итак, всего 7 ограничений типа равенств. Кроме того, все переменные неотрицательны - еще 12 ограничений.
Целевая функция - издержки по перевозке, которые необходимо минимизировать:
F = 2 X 11 + 5 Х 12 + 4 Х 13 + 5 Х 14 + X 21 + 2 Х 22 + Х 23 + 4 Х 24 +
+ +3 X 31 + Х 32 + 5 Х 33 + 2 Х 34 → min.
Кроме обсуждаемой, рассматриваются также различные иные варианты транспортной задачи. Например, если доставка производится вагонами, то объемы поставок должны быть кратны вместимости вагона.
Количество переменных и ограничений в транспортной задаче таково, что для ее решения не обойтись без компьютера и соответствующего программного продукта.