Модель рыбной отрасли. Построение модели рынка. Математическая модель рынка с четырьмя потребителями и производителями, страница 2

[x6max,f6max]=karmarkar([],[],-1*f(6,:)',[],[],[],[],[],a,b',lb',ub')

[x7max,f7max]=karmarkar([],[],-1*f(7,:)',[],[],[],[],[],a,b',lb',ub')

[x8max,f8max]=karmarkar([],[],-1*f(8,:)',[],[],[],[],[],a,b',lb',ub')

disp('Шаг3. Анализ результатов решения')

F=[f(1,:)*x1 f(2,:)*x1 f(3,:)*x1 f(4,:)*x1 f(5,:)*x1 f(6,:)*x1 f(7,:)*x1 f(8,:)*x1;

f(1,:)*x2 f(2,:)*x2 f(3,:)*x2 f(4,:)*x2 f(5,:)*x2 f(6,:)*x2 f(7,:)*x2 f(8,:)*x2;

f(1,:)*x3 f(2,:)*x3 f(3,:)*x3 f(4,:)*x3 f(5,:)*x3 f(6,:)*x3 f(7,:)*x3 f(8,:)*x3;

f(1,:)*x4 f(2,:)*x4 f(3,:)*x4 f(4,:)*x4 f(5,:)*x4 f(6,:)*x4 f(7,:)*x4 f(8,:)*x4;

f(1,:)*x5 f(2,:)*x5 f(3,:)*x5 f(4,:)*x5 f(5,:)*x5 f(6,:)*x5 f(7,:)*x5 f(8,:)*x5;

f(1,:)*x6 f(2,:)*x6 f(3,:)*x6 f(4,:)*x6 f(5,:)*x6 f(6,:)*x6 f(7,:)*x6 f(8,:)*x6;

f(1,:)*x7 f(2,:)*x7 f(3,:)*x7 f(4,:)*x7 f(5,:)*x7 f(6,:)*x7 f(7,:)*x7 f(8,:)*x7;

f(1,:)*x8 f(2,:)*x8 f(3,:)*x8 f(4,:)*x8 f(5,:)*x8 f(6,:)*x8 f(7,:)*x8 f(8,:)*x8]

d1=-f1-f1min

d2=-f2-f2min

d3=-f3-f3min

d4=-f4-f4min

d5= f5+f5max

d6= f6+f6max

d7= f7+f7max

d8= f8+f8max

L=[(-F(1,1)-f1min)/d1 (-F(1,2)-f2min)/d2 (-F(1,3)-f3min)/d3 (-F(1,4)-f4min)/d4 (F(1,5)+f5max)/d5 (F(1,6)+f6max)/d6 (F(1,7)+f7max)/d7 (F(1,8)+f8max)/d8;

(-F(2,1)-f1min)/d1 (-F(2,2)-f2min)/d2 (-F(2,3)-f3min)/d3 (-F(2,4)-f4min)/d4 (F(2,5)+f5max)/d5 (F(2,6)+f6max)/d6 (F(2,7)+f7max)/d7 (F(2,8)+f8max)/d8;

(-F(3,1)-f1min)/d1 (-F(3,2)-f2min)/d2 (-F(3,3)-f3min)/d3 (-F(3,4)-f4min)/d4 (F(3,5)+f5max)/d5 (F(3,6)+f6max)/d6 (F(3,7)+f7max)/d7 (F(3,8)+f8max)/d8;

(-F(4,1)-f1min)/d1 (-F(4,2)-f2min)/d2 (-F(4,3)-f3min)/d3 (-F(4,4)-f4min)/d4 (F(4,5)+f5max)/d5 (F(4,6)+f6max)/d6 (F(4,7)+f7max)/d7 (F(4,8)+f8max)/d8;

(-F(5,1)-f1min)/d1 (-F(5,2)-f2min)/d2 (-F(5,3)-f3min)/d3 (-F(5,4)-f4min)/d4 (F(5,5)+f5max)/d5 (F(5,6)+f6max)/d6 (F(5,7)+f7max)/d7 (F(5,8)+f8max)/d8;

(-F(6,1)-f1min)/d1 (-F(6,2)-f2min)/d2 (-F(6,3)-f3min)/d3 (-F(6,4)-f4min)/d4 (F(6,5)+f5max)/d5 (F(6,6)+f6max)/d6 (F(6,7)+f7max)/d7 (F(6,8)+f8max)/d8;

(-F(7,1)-f1min)/d1 (-F(7,2)-f2min)/d2 (-F(7,3)-f3min)/d3 (-F(7,4)-f4min)/d4 (F(7,5)+f5max)/d5 (F(7,6)+f6max)/d6 (F(7,7)+f7max)/d7 (F(7,8)+f8max)/d8;

(-F(8,1)-f1min)/d1 (-F(8,2)-f2min)/d2 (-F(8,3)-f3min)/d3 (-F(8,4)-f4min)/d4 (F(8,5)+f5max)/d5 (F(8,6)+f6max)/d6 (F(8,7)+f7max)/d7 (F(8,8)+f8max)/d8]

disp('Решение L-задачи')

L=[-1 0 0 0 0 0 0 0 0]

a0=[1 -27/d1 -50/d1 0 0 0 0 0 0;

1 0 0 -26/d2 -15/d2 0 0 0 0;

1 0 0 0 0 -35/d3 -15/d3 0 0;

1 0 0 0 0 0 0 -35/d4 -28/d4;

1 -70/d5 0 0 0 -55/d5 0 0 0;

1 0 -95/d6 0 0 0 -35/d6 0 0;

1 0 0 -46/d7 0 0 0 -85/d7 0;

1 0 0 0 -35/d8 0 0 0 -48/d8;

0 70 0 0 0 55 0 0 0;

0 -70 0 0 0 -55 0 0 0;

0 0 95 0 0 0 35 0 0;

0 0 -95 0 0 0 -35 0 0;

0 0 0 46 0 0 0 85 0;

0 0 0 -46 0 0 0 -85 0;

0 0 0 0 35 0 0 0 48;

0 0 0 0 -35 0 0 0 -48;

0 43 45 0 0 0 0 0 0;

0 0 0 20 20 0 0 0 0;

0 0 0 0 0 20 20 0 0;

0 0 0 0 0 0 0 50 20]

b0=[-f1min/d1 -f2min/d2 -f3min/d3 -f4min/d4 f5max/d5 f6max/d6 f7max/d7 f8max/d8 14000 -8000 19000 -11000 16500 -10000 19000 -12000 14000 8000 19000 11000]

lb0=[0 0 0 0 0 0 0 0 0]

ub0=[1 300 300 300 300 300 300 300 300]

[x0,l0]=karmarkar([],[],L',[],[],[],[],[],a0,b0',lb0',ub0')

Fx0=[f(1,:)*x0(2:9) f(2,:)*x0(2:9) f(3,:)*x0(2:9) f(4,:)*x0(2:9) f(5,:)*x0(2:9) f(6,:)*x0(2:9) f(7,:)*x0(2:9) f(8,:)*x0(2:9)]

lx0=[(-Fx0(1)-f1min)/d1 (-Fx0(2)-f2min)/d2 (-Fx0(3)-f3min)/d3 (-Fx0(4)-f4min)/d4 (Fx0(5)+f5max)/d5 (Fx0(6)+f6max)/d6 (Fx0(7)+f7max)/d7 (Fx0(8)+f8max)/d8]

-->disp('Исходные данные рыбной отрасли')

Исходные данные рыбной отрасли  

-->f=[-27 -50 0 0 0 0 0 0;

-->   0 0 -26 -15 0 0 0 0;

-->   0 0 0 0 -35 -15 0 0;

-->   0 0 0 0 0 0 -35 -28;

-->   70 0 0 0 55 0 0 0;

-->   0 95 0 0 0 35 0 0;

-->   0 0 46 0 0 0 85 0;

-->   0 0 0 35 0 0 0 48]

f  =

- 27.  - 50.    0.     0.     0.     0.     0.     0.  

0.     0.   - 26.  - 15.    0.     0.     0.     0.  

0.     0.     0.     0.   - 35.  - 15.    0.     0.  

0.     0.     0.     0.     0.     0.   - 35.  - 28. 

70.    0.     0.     0.     55.    0.     0.     0.  

0.     95.    0.     0.     0.     35.    0.     0.  

0.     0.     46.    0.     0.     0.     85.    0.  

0.     0.     0.     35.    0.     0.     0.     48. 

-->a=[70 0 0 0 55 0 0 0;

-->   -70 0 0 0 -55 0 0 0;

-->   0 95 0 0 0 35 0 0;

-->   0 -95 0 0 0 -35 0 0;

-->   0 0 46 0 0 0 85 0;

-->   0 0 -46 0 0 0 -85 0;

-->   0 0 0 35 0 0 0 48;

-->   0 0 0 -35 0 0 0 -48;

-->  43 45 0 0 0 0 0 0;

-->   0 0 20 20 0 0 0 0;

-->   0 0 0 0 20 20 0 0;

-->   0 0 0 0 0 0 50 20]