Vous êtes sur la page 1sur 7

Primeri rešavanja zadataka iz linearnog programiranja u Matlab-u 1/7

Primeri rešavanja zadataka iz linearnog programiranja u Matlab-u

Programi
echo on
clear,clc
% Primeri resavanja problema linearnog programiranja

% Primer 1 (Primer 8.9, strana 176 knjige)


% Maksimizirati: z=50*x1+40*x2+10*x3+20*x4
% pri ogranicenjima: 4*x1+2*x2+5*x3<=400
% 2*x1+9*x2+2*x3+3*x4<=500
% i uslovima: x1,x2,x3,x4+>=0

c=[50,40,10,20];
a=[4,2,5,0;2,9,2,3];
b=[400;500];

% Optimalno resenje je:


x=lp(-c,a,b,zeros(4,1))
z=c*x
pause % pritisni bilo koji taster za nastavak

clear,clc
% Primer 2 (Primer 8.10, strana 183 knjige)
% Maksimizirati: z=4*x1+7*x2
% pri ogranicenjima: 7*x1+13*x2<=182
% 5*x1+3*x2<=60
% i uslovima: x1,x2>=0

c=[4,7];
a=[7,13;5,3];
b=[182;60];

% Optimalno resenje je:


x=lp(-c,a,b,zeros(4,1))
z=c*x
pause % pritisni bilo koji taster za nastavak

clear,clc
% Primer 3 (Primer 8.11, strana 186 knjige)
% Minimizirati: z=4*x1+7*x2
% pri ogranicenjima: 7*x1+13*x2<=182
% 5*x1+3*x2<=60
% i uslovima: x1,x2>=0

c=[4,7];
a=[7,13;5,3];
b=[182;60];

% Optimalno resenje je:


x=lp(c,a,b,zeros(4,1))
z=c*x
pause % pritisni bilo koji taster za nastavak

1
Primeri rešavanja zadataka iz linearnog programiranja u Matlab-u 2/7

clear,clc
% Primer 4 (Primer 8.12, strana 188 knjige)
% Maksimizirati: z=80*x1+60*x2
% pri ogranicenjima: 0.2*x1+0.32*x2<=0.25
% x1+x2=1
% i uslovima: x1,x2>=0

c=[80,60];
a=[0.2,0.32;1,1];
b=[0.25;1];

% Optimalno resenje je:


x=lp(-c,a,b,zeros(4,1))
z=c*x
pause % pritisni bilo koji taster za nastavak

clear,clc
% Primer 5 (Primer 8.13, strana 191 knjige)
% Minimizirati: z=80*x1+60*x2
% pri ogranicenjima: 0.2*x1+0.32*x2<=0.25
% x1+x2=1
% i uslovima: x1,x2>=0

c=[80,60];
a=[0.2,0.32;1,1];
b=[0.25;1];

% Optimalno resenje je:


x=lp(c,a,b,zeros(4,1))
z=c*x
pause % pritisni bilo koji taster za nastavak

clear,clc
% Primer 6
% Maximizirati: z=0.4*x1+0.2*x2+0.5x3+0.8x4
% pri ogranicenjima: x1+2x2+4x3+8x4<=24
% 3x1+5x2+x3<=12
% 6x1+3x3+x4<=35
% i uslovima: x1,x2,x3,x4>=0

c=[0.4,0.2,0.5,0.8];
a=[1,2,4,8;3,5,1,0;6,0,3,1];
b=[24;12;35];

% Optimalno resenje je:


x=lp(-c,a,b,zeros(4,1))
z=c*x
pause % pritisni bilo koji taster za nastavak

2
Primeri rešavanja zadataka iz linearnog programiranja u Matlab-u 3/7

clear,clc
% Primer 7a
% Maximizirati: z=x1+4*x2-7*x3
% pri ogranicenjima: -3x1+x2-x3<=2
% 7x1-2x2+5x3<=7
%
% i uslovima: x1,x2,x3>=0

c=[1,4,-7];
a=[-3,1,-1;7,-2,5];
b=[2;7];

% Optimalno resenje je:


x=lp(-c,a,b,zeros(3,1))
z=c*x
pause % pritisni bilo koji taster za nastavak

clear,clc
% Primer 7b
% Minimizirati: z=2*y1+7*y2
% pri ogranicenjima: -3y1+7y2>=1
% y1-2y2>=4
% -y1+5y2>=-7
% i uslovima: x1,x2,x3>=0

c=[2,7];
a=[-3,7;1,-2;-1,5];
b=[1;4;-7];

% Optimalno resenje je:


x=lp(c,-a,-b,zeros(3,1))
z=c*x
pause % pritisni bilo koji taster za nastavak

3
Primeri rešavanja zadataka iz linearnog programiranja u Matlab-u 4/7

Rešenja
» linprog1
echo on
clear,clc
% Primeri resavanja problema linearnog programiranja

% Primer 1 (Primer 8.9, strana 176 knjige)


% Maksimizirati: z=50*x1+40*x2+10*x3+20*x4
% pri ogranicenjima: 4*x1+2*x2+5*x3<=400
% 2*x1+9*x2+2*x3+3*x4<=500
% i uslovima: x1,x2,x3,x4+>=0

c=[50,40,10,20];
a=[4,2,5,0;2,9,2,3];
b=[400;500];

% Optimalno resenje je:


x=lp(-c,a,b,zeros(4,1))

x=
100.0000
0.0000
0.0000
100.0000

z=c*x

z=
7000

pause % pritisni bilo koji taster za nastavak

clear,clc
% Primer 2 (Primer 8.10, strana 183 knjige)
% Maksimizirati: z=4*x1+7*x2
% pri ogranicenjima: 7*x1+13*x2<=182
% 5*x1+3*x2<=60
% i uslovima: x1,x2>=0

c=[4,7];
a=[7,13;5,3];
b=[182;60];

% Optimalno resenje je:


x=lp(-c,a,b,zeros(4,1))

x=
5.3182
11.1364

z=c*x

z=
99.2273

pause % pritisni bilo koji taster za nastavak


clear,clc

4
Primeri rešavanja zadataka iz linearnog programiranja u Matlab-u 5/7

% Primer 3 (Primer 8.11, strana 186 knjige)


% Minimizirati: z=4*x1+7*x2
% pri ogranicenjima: 7*x1+13*x2<=182
% 5*x1+3*x2<=60
% i uslovima: x1,x2>=0

c=[4,7];
a=[7,13;5,3];
b=[182;60];

% Optimalno resenje je:


x=lp(c,a,b,zeros(4,1))

x=

0
0

z=c*x

z=

pause % pritisni bilo koji taster za nastavak

clear,clc
% Primer 4 (Primer 8.12, strana 188 knjige)
% Maksimizirati: z=80*x1+60*x2
% pri ogranicenjima: 0.2*x1+0.32*x2<=0.25
% x1+x2=1
% i uslovima: x1,x2>=0

c=[80,60];
a=[0.2,0.32;1,1];
b=[0.25;1];

% Optimalno resenje je:


x=lp(-c,a,b,zeros(4,1))

x=

1.0000
0.0000

z=c*x

z=

80

pause % pritisni bilo koji taster za nastavak

5
Primeri rešavanja zadataka iz linearnog programiranja u Matlab-u 6/7

clear,clc
% Primer 5 (Primer 8.13, strana 191 knjige)
% Minimizirati: z=80*x1+60*x2
% pri ogranicenjima: 0.2*x1+0.32*x2<=0.25
% x1+x2=1
% i uslovima: x1,x2>=0

c=[80,60];
a=[0.2,0.32;1,1];
b=[0.25;1];

% Optimalno resenje je:


x=lp(c,a,b,zeros(4,1))

x=

0
0

z=c*x

z=

pause % pritisni bilo koji taster za nastavak

clear,clc
% Primer 6
% Maximizirati: z=0.4*x1+0.2*x2+0.5x3+0.8x4
% pri ogranicenjima: x1+2x2+4x3+8x4<=24
% 3x1+5x2+x3<=12
% 6x1+3x3+x4<=35
% i uslovima: x1,x2,x3,x4>=0

c=[0.4,0.2,0.5,0.8];
a=[1,2,4,8;3,5,1,0;6,0,3,1];
b=[24;12;35];

% Optimalno resenje je:


x=lp(-c,a,b,zeros(4,1))

x=

3.3745
0
1.8765
1.6399

z=c*x

z=

3.6000

pause % pritisni bilo koji taster za nastavak

6
Primeri rešavanja zadataka iz linearnog programiranja u Matlab-u 7/7

clear,clc
% Primer 7a
% Maximizirati: z=x1+4*x2-7*x3
% pri ogranicenjima: -3x1+x2-x3<=2
% 7x1-2x2+5x3<=7
%
% i uslovima: x1,x2,x3>=0

c=[1,4,-7];
a=[-3,1,-1;7,-2,5];
b=[2;7];

% Optimalno resenje je:


x=lp(-c,a,b,zeros(3,1))

x=

11.0000
35.0000
0

z=c*x

z=

151.0000

pause % pritisni bilo koji taster za nastavak

clear,clc
% Primer 7b
% Minimizirati: z=2*y1+7*y2
% pri ogranicenjima: -3y1+7y2>=1
% y1-2y2>=4
% -y1+5y2>=-7
% i uslovima: x1,x2,x3>=0

c=[2,7];
a=[-3,7;1,-2;-1,5];
b=[1;4;-7];

% Optimalno resenje je:


x=lp(c,-a,-b,zeros(3,1))

x=

30.0000
13.0000

z=c*x

z=

151.0000

pause % pritisni bilo koji taster za nastavak


»

Vous aimerez peut-être aussi