Решение ВЗЛП при равнозначных критериях в системе Matlab
Для решения векторной задачи линейного программирования (5.5.21)-(5.5.24) представим исходные данные в системе Matlab.
Формируется векторная целевая функция в виде матрицы: Cvec = [-25.0 -25.0; -5.0 -8.0; 5.0 6.0]; матрица линейных ограничений: a = [5. 6.; -1. -1.]; вектор, содержащий ограничения (bi): b=[3000. -300]; ограничения равенства: Aeq=[]; Beq=[]; вектор ограничений на переменные – нижний и верхний: lb=[0. 0.], lu=[500. 400.]; вектор начальных условий: X0=[0. 0.];
Алгоритм представим как последовательность шагов.
Шаг 1. Решение по каждому критерию.
1) Решение по первому критерию – наилучшее и наихудшее:
[X1,f1]=Linprog(Cvec(1,:),a,b,Aeq,Beq,lb,lu,X0), где Х1 - вектор оптимальных значений переменных по первому критерию; f1 – величина целевой функции в этой точке. X ={x1=500, x2=83.33}; f1=f =14583.
[X1min,f1min]=Linprog(-1*Cvec(1,:),a,b,Aeq,Beq, lb,lu,X0),
X ={x1=151.7, x2=148.3}; f1min=f =7500.
2) Решение по второму критерию – наилучшее и наихудшее:
[X2,f2]=Linprog(Cvec(2,:),a,b,Aeq,Beq, lb,lu,X0)
X = {x1 = 120, x2 = 400}, f2=f =3800.
[X2min,f2min]=Linprog(-1*Cvec(2,:),a,b,Aeq,Beq, lb,lu,X0),
X ={x1=300.0, x2=0.0}; f2min=f =1500.
Рис. 5.4. Условия и результаты решения ВЗЛП
3) Решение по третьему критерию – наилучшее и наихудшее:
[X3,f3]=Linprog(Cvec(3,:),a,b,Aeq,Beq, lb,lu,X0)
X = {x1 = 300, x2 = 0}, f3=f =1500.
[X3max,f3max]=Linprog(-1*Cvec(3,:),a,b,Aeq,Beq, lb,lu,X0),
X ={x1=232.0, x2=306.6}; f3max=f =3000.
Полученные точки оптимума представлены на рис.5.4.
Шаг 2. Выполняется анализ критериев в ВЗЛП, для чего в оптимальных точках X , X , X определяются величины целевых функций F(X*)={{fq(X ), q= }, k= } и относительные оценки l(X*)={{lq(X ), q= }, k= }:
= , = ,
где lk(X) = (fk(X) - f )/(f - f ), k= , f =fk(X ).
Из матрицы l(X*) вытекает, что в оптимальных точках критерии первый и второй достигают 0,7 от своих оптимальных величин, а третий критерий наиболее противоречив с первыми двумя (они равны нулю в X ).
Шаг 3. Строится l-задача:
lo = max l, (5.5.25)
при ограничениях: l - £ 0, (5.5.26)
l - £ 0, l - £ 0, (5.5.27)
5 x1 + 6 x2 £ 3000, x1 £ 500, x1 £ 400, x1 + x2 ³300, x1³0, x2³0. (5.5.28)
Для решения задачи (5.2.23)-(5.2.26) в системе Matlab задаются следующие параметры: коэффициенты целевой функции cvec0 = [-1. 0. 0.];
матрица линейных ограничений
a0=[1. -25./d1 -25./d1;
1. -5./d2 -8./d2;
1. -5./d3 -6./d3;
0. 5. 6.;
0. -1. -1.], где d1=(f - f ), d2=(f -f ), d3=(f - f );
вектор ограничений (bi): b0 = [- f /d1 -f /d2 -f /d3 3000. 300.];
вектор ограничений на переменные – нижний и верхний:
lb=[0. 0.], lu=[500. 400.]; вектор начальных условий: x0 = [0.0 0.0 0.0].
Обращение к функции Linprog представлено в виде:
[Xo, Lo]=Linprog(cvec0,a0,b0,Aeq,Beq,x0)
Результаты решения l-задачи:
оптимальные значения переменных: Xo={x1=0.4671, x2=294.8, x3=13104};
оптимальное значение целевой функции: lo = 0.4671 –
представлены на рис. 5.5. Выполним проверку: f1(Xo)=10809, f2(Xo)=2574, f3(Xo)=2299, l1(Xo)=l2(Xo)=l3(Xo)=0.4671, т. е. lo £ lk(Xo), k=1,2,3.
Результаты проверки показывают, что данном примере относительные оценки по каждому критерию равны между собой и ракны максимальному относительному уровню lo, т. е. точка Xo оптимальна по Парето.
На рис. 5.5 представлены три нормализованные плоскости l1(X), l2(X), l3(X) и область ограничений, общий вид которой показан на рис. 5.4. Область ограничений искусственно опущена до уровня l(X)=3, (чтобы была видна на рис.). На этом рис. нормализованные плоскости объемов продаж l1(X) пересекаются с прибылью l2(X) и обе вместе пересекаются с плоскостью минимального планового задания l3(X).
Рис. 5.5. Целевые функции и результаты моделирования годового плана на области ограничений
Точка пересечения есть Xo, где lo = min(l1(Xo), l2(Xo), l3(Xo))=0.4671. Любая попытка увеличить один из критериев приводит к уменьшению других критериев, т. е. точка Xo оптимальна по Парето.
Анализ результатов решения и принятие окончательного решения.
Для анализа результатов решения рассмотрим, во-первых, пределы изменения критериев, и, во-вторых, ограничения по ресурсам.
Пределы изменения критериев оценим при переходе от точки Xo до точки оптимума по соответствующему критерию: f1(Xo)=10809£f1(X)£14583=f1(X ),
f2(Xo)= 2574 £f2(X)£ 3800=f2(X ), f3(Xo)= 2299 ³f3(X)³ 1500=f3(X ),
по ресурсам: r1(Xo)=2299.3 £ r1(X) £ 3000=r1(X ), и минимальному плану: r2(Xo)= 432.4 ³ r2(X) ³ 300.
Эта информация является основой для корректировок параметров модели и принятие окончательного решения.