Соответствие между переменными примет вид
Учитывая это соответствие, выпишем из индексной строки последней итерации компоненты искомого плана
- двойственные оценки.min f = max Z =84000.
Запишем это неравенство в развернутой форме:
48000*15 + 2400*5 + 1500*0 = 65*0 + 70*0 + 60*400 + 120*500
Учитывая, что компонеты представляют собой оценки ресурсов заключаем:
При оптимальном плане оценка ресурсов, затраченных на выпуск продукции, совпадает с оценкой произведенной продукции.
Теперь установим степень дефицитности используемых ресурсов и обоснуем рентабельность оптимального плана.
Мы нашли оптимальный план
выпуска продукции. При этом плане третье ограничение прямой задачи выполняется как строгое неравенство:0+2-400+500= 1300< 1500. Это означает, что расход ресурса
меньше его запаса, т. е. ресурс избыточный. Именно поэтому в оптимальном плане двойственной задачи оценка этого ресурса равна нулю.А вот оценки
и ресурсов и выражаются положительными числами 15 и 5, что свидетельствует о дефицитности этих ресурсов: они при оптимальном плане используются полностью. В самом деле, ограничения по этим ресурсам выполняются как строгие равенства: 4.0+2.0+2.400+8.500=4800, 2-0+10.0+6.400=2400.Поскольку 15>5, ресурс
считается более дефицитным, чем ресурс .На основе теоремы (о дополняющей нежесткости) нетрудно объяснить, почему не вошла в оптимальный план продукция
и : первое и второе ограничения двойственной задачи выполняются как строгие неравенства: 4-15+2-5+0>65, 2-15+10*5>70.Это означает, что оценки ресурсов, расходуемых на изготовление единицы продукции
и , превышают оценки единицы этой продукции. Понятно, что такую продукцию выпускать предприятию невыгодно. Что же касается продукции и , то выпуск ее оправдан, поскольку оценка израсходованных ресурсов совпадает с оценкой произведенной продукции: 2*15+ +6*5+2*0=60, 8*15+0=120.Таким образом, в оптимальный план войдет только та продукция, которая выгодна предприятию, и не войдет убыточная продукция. В этом проявляется рентабельность оптимального плана.
Рассмотрим возможность дальнейшего совершенствования оптимального ассортимента выпускаемой продукции.
Выше установлено, что ресурсы
и являются дефицитными. В связи с этим на основе теоремы (об оценках) можно утверждать, что на каждую единицу ресурса , введенную дополнительно в производство, будет получена дополнительная выручка , численно равная . В самом деле, при получаем . По тем же причинам каждая дополнительная единица ресурса обеспечит прирост выручки, равный 5 р. Теперь становится понятно, почему ресурс считается более дефицитным по сравнению с ресурсом : он может содействовать получению большей выручки.Что же касается избыточного ресурса
, то увеличение его запаса не приведет к росту выручки, поскольку . Из приведенных рассуждений следует, что оценки ресурсов позволяют совершенствовать план выпуска продукции.Выясним экономический смысл оценок
продукции , , , .По оптимальному плану
выпускать следует продукцию и . Оценки и этих видов продукции равны нулю. Что это означает, практически станет ясно, если представить оценки в развернутой записи:Таким образом, нулевая оценка показывает, что эта продукция является неубыточной, поскольку оценка ресурсов, расходуемых на выпуск единицы такой продукции, совпадает с оценкой единицы изготовленной продукции.
Что же касается продукции
и являющейся, как установлено выше, убыточной, а потому и не вошедшей в оптимальный план, то для ее оценок и получаем:Отсюда видно, что оценка убыточной продукции показывает, насколько будет снижать каждая единица такой продукции достигнутый оптимальный уровень.
§8. Программа и расчеты.
{Программа составлена для решения задачи линейного программирования
симплексным методом}
uses crt;
const n=2;{число неизвестных исходной задачи}
m=3;{число ограничений}
m1=0;{последняя строка равенств}
m2=1;{последняя строка неравенств вида >=}
label 5,15,20,10;
var b,cb:array[1..m] of real;c,x,e:array[1..50] of real;a:array[1..m,1..50] of real;
s0,max,mb,s1:real;i,j,k,i0,j0,m21,nm1,n1:integer; Bi:array[1..m] of integer;
begin
clrscr;
writeln;
writeln (' Симплексный метод решения задачи линейного программирования:');
writeln;
writeln (' Проведем некоторые преобразования с данной задачей:');
writeln;
writeln (' Подготовьте матрицу: сначала равенства, потом неравенства вида >= и неравенства вида <=;');
writeln (' Целевая функция должна быть на минимум (привести ее к такому виду); ');
writeln (' Вектор b должен состоять только из положительных элементов (привести его к та- кому виду);');
writeln(' Введите матрицу А ',m,'*',n,' построчно:');
for i:=1 to m
do begin for j:=1 to n
do read (a[i,j]);
readln
end;
writeln (' Введите в виде строки вектор b, состоящий из ',m,' компонент:');
for i:=1 to m
do read (b[i]);
writeln(' Введите теперь вектор с, состоящий из ',n,' компонент:');
for i:=1 to n
do read (c[i]);
m21:=m2-m1+n;nm1:=n+m-m1;n1:=n+m-m1+m2;
for i:=1 to m
do for j:=n+1 to n1
do a[i,j]:=0;
{переход к равенствам в неравенствах >=}
for i:=m1+1 to m2
do a[i,n+i-m1]:=-1;
{переход к равенствам в неравенствах <=}