Dual problem and primal problem unbounded linear programming
์กฐํ ์: 13 (์ต๊ทผ 30์ผ)
์ด์ ๋๊ธ ํ์
Hello,
I need some help please to solve this problem I have . I have solved a max. problem , the primal problem , by using linprog.
After this , I have done the dual problem of the primal. After this proccess, I don't get the result that I should get , because the values of F0 should be the same in both cases(if I am not wrong).
I am sending the illustrated problem and code below. I hope someone can give me a help.
thank you !
Max 300๐ฅ1 + 400๐ฅ2
๐ฅ1 + ๐ฅ2 โค 320
4๐ฅ1 + 5๐ฅ2 โค 510
2๐ฅ1 + 3๐ฅ2 โค 430
3๐ฅ1 + ๐ฅ2 โค 300
๐ฅ1,๐ฅ2 โฅ 0
The Dual Problem
Min 320๐ฆ1 + 510๐ฆ2 + 430๐ฆ3 + 300๐ฆ4
๐ฆ1 + 4๐ฆ2 + 2๐ฆ3 + 3๐ฆ4 โฅ 300
4๐ฆ1 + 5๐ฆ2 + 3๐ฆ3 + ๐ฆ4 โฅ 400
๐ฆ1,๐ฆ2,๐ฆ3,๐ฆ4 โฅ 0
Matlab Code:
%Primary Problem
%Ax<=b
%coefficients of A
A = [1 4; 4 5; 2 3; 3 1];
%coefficients of B
b = [320 510 430 300];
%coefficients of the objective function
f = [300 400];
%The maximation of the linear function using the matlab linear
%programming function
[x0,F0] = linprog(-f,A,b,[],[],[0 0])
% disp('x0 = ')
% disp(x0);
%------------------------------------------------------------------
%Dual problem
%coefficients of AT
AT = [1 4 2 3;
4 5 3 1];
%coefficients of u
u = [300 400];
g = [320 510 430 300];
%setting a lower bounder
lb = zeros(1,4);
%setting an upper bounder
ub=[];
[u0,F0] = linprog(g,-AT,-u,[],[],lb,ub)
% disp('u0 = ');
% disp(u0);
%So,1st and 2nd constrains of the primary problem are active
%because u0 = [9.0909
% 72.7273
% 0
% 0]
%Solutions of Primary problem throug the dual problem
syms x1 x2
eqns = [x1 + x2 == 320, 4*x1 + 5*x2 == 510];
S = solve(eqns,[x1 x2]);
b = [S.x1 S.x2];
disp('Values of x ')
disp(b);
duality_gap = [x0(1)-u0(1); x0(2)-u0(2)]
๋๊ธ ์: 0
๋ต๋ณ (0๊ฐ)
์ฐธ๊ณ ํญ๋ชฉ
์นดํ ๊ณ ๋ฆฌ
Help Center ๋ฐ File Exchange์์ Linear Programming and Mixed-Integer Linear Programming์ ๋ํด ์์ธํ ์์๋ณด๊ธฐ
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!