Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clc
- clear
- printf("------------task_1----------\n")
- c=[4.5 4.5 4.5 5.9 5.9 5.9 2.3 2.3 2.3 5.9 5.9 5.9]';
- A=[1 0 1 1 0 1 0 0 0 0 0 0;
- 0 0 0 0 0 0 1 0 1 1 0 1;
- 0 1 0 0 1 0 0 0 0 0 0 0;
- 0 0 0 0 0 0 0 1 0 0 1 0;
- 1 0 0 0 0 0 1 0 0 0 0 0;
- 0 0 0 1 0 0 0 0 0 1 0 0;
- 0 1 0.7 0 0 0 0 1 0.7 0 0 0;
- 0 0 0 0 1 0.7 0 0 0 0 1 0.7;
- 1 1 0.7 0 0 0 1 1 0.7 0 0 0;
- 0 0 0 1 1 0.7 0 0 0 1 1 0.7];
- b=[3800 2700 4600 6000 3000 1100 3200 5500 6500 8200]';
- [x_min,z_min,ec,extra]=glpk(c,A,b,zeros(12,1),[],"UUUULLLLSS","CCCCCCCCCCCC",1)
- printf("------------task_2----------\n")
- db=[5 5 -5 -5 0 0 0 0 0 0]';
- i=1;
- while(1)
- i=i+1;
- B=b+i*db;
- [x_min,z_min]=glpk(c,A,B,zeros(12,1),[],"UUUULLLLSS","CCCCCCCCCCCC",1);
- if((x_min(3)>=100) || (x_min(6)>=100) || (x_min(9)>=100) || (x_min(12)>=100))
- printf("%d %d %d %d Optimal solution\n",B(1),B(2),B(3),B(4))
- [x_min,z_min,ec,extra]=glpk(c,A,B,zeros(12,1),[],"UUUULLLLSS","CCCCCCCCCCCC",1)
- break
- else
- printf("%d %d %d %d No changes\n",B(1),B(2),B(3),B(4))
- endif
- endwhile
- printf("------------task_3----------\n")
- b_task_3=[20000 20000 20000 20000 3000 1100 3200 5500 6500 8200]';
- [x_min_task_3,z_min_task_3]=glpk(c,A,b_task_3,zeros(12,1),[],"UUUULLLLSS","CCCCCCCCCCCC",1)
- dc=[0 0.1 0 0 0.1 0 0 0.1 0 0 0.1 0]';
- j=1;
- while(1)
- j=j+1;
- C=c+j*dc;
- [x_min_task_3,z_min_task_3]=glpk(C,A,b_task_3,zeros(12,1),[],"UUUULLLLSS","CCCCCCCCCCCC",1);
- if((x_min_task_3(3)>=100) || (x_min_task_3(6)>=100) || (x_min_task_3(9)>=100) || (x_min_task_3(12)>=100))
- printf("%d %d %d %d Optimal solution\n",C(2),C(5),C(8),C(11))
- [x_min_task_3,z_min_task_3]=glpk(C,A,b_task_3,zeros(12,1),[],"UUUULLLLSS","CCCCCCCCCCCC",1)
- break
- else
- printf("%d %d %d %d No changes\n",C(2),C(5),C(8),C(11))
- endif
- endwhile
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement