Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //17.1
- //max(400x1+300x2)
- //12x1+10x2<=300, 4x1+5x2<=120, 3x1+2x2<=252,
- //x1>=0,x2>=0
- clc
- disp(" Лабораторная работа №17")
- disp("___________________________________________________________")
- disp(" |Задание 1|")
- c=[400;300]
- A=[12 10
- 4 5
- 3 2]
- b=[300;120;252]
- lb=[0;0]
- ub=[25;30]
- c1= -c
- [xopt, fopt]=karmarkar([],[],c1,[],[],[],[],[],A,b,lb,ub)
- fopt=-fopt
- disp(xopt,'xopt:')
- disp('fopt= '+string(fopt))
- disp('Итак, если производить '+string(round(xopt(1)))+' изделий типа А и не производить изделий типа В, то выручка от их продажи будет наибольшей и составит: '+string(round(fopt))+' рублей. При этом I сырья будет израсходовано '+string(12*round(xopt(1))+10*round(xopt(2)))+' кг, II сырья- '+string(4*round(xopt(1))+5*round(xopt(2)))+' кг и III сырья - '+string(3*round(xopt(1))+3*round(xopt(2)))+' кг.')
- //17.2
- //max(17x1+16x2+15x3)
- //30x1+30x2+20x3 <=100000, 10x1+15x2+10x3<=50000
- //15x1+10x2+15x3<=25000,10x1<=10000,10x2+5x3<=5000
- //x1>=0,x2>=0
- disp("___________________________________________________________")
- disp(" |Задание 2|")
- c=[17;16;15]
- A=[30 30 20
- 10 15 10
- 15 10 15
- 10 0 0
- 0 10 5]
- b=[100000; 50000; 25000; 10000; 5000];
- lb=[0;0;0]
- ub=[5000;3333;5000]
- c1= -c
- [xopt, fopt]=karmarkar([],[],c1,[],[],[],[],[],A,b,lb,ub)
- fopt=-fopt
- disp(xopt,'xopt:')
- disp('fopt= '+string(fopt))
- disp('Итак, если производить '+string(round(xopt(1)))+' штук шоколадного батончика *Белка*; ' +string(round(xopt(2)))+' штук батончика *Зайка*; ' +string(round(xopt(3)))+' штук батончика *Рыбка*, то выручка от их реализации будет наибольшей и составит: '+string(round(fopt))+' рублей. При этом сахара будет израсходовано '+string(round((30*xopt(1)+30*xopt(2)+20*xopt(3))/1000))+' кг, шоколада- '+string(round((10*xopt(1)+15*xopt(2)+10*xopt(3))/1000))+' кг, нуги - '+string(round((15*xopt(1)+10*xopt(2)+15*xopt(3))/1000))+' кг, ореха- '+string(round((10*xopt(1)+0*xopt(2)+0*xopt(3))/1000))+'кг и вафель- '+string(round((0*xopt(1)+10*xopt(2)+5*xopt(3))/1000))+'кг.')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement