Filter löschen
Filter löschen

Dual problem and primal problem unbounded linear programming

13 Ansichten (letzte 30 Tage)
Klaus Hajdaraj
Klaus Hajdaraj am 14 Apr. 2021
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)]

Antworten (0)

Kategorien

Mehr zu Linear Programming and Mixed-Integer Linear Programming finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by