- LISTA 4
- ZADANIE 7
- set PRZEDMIOTY;
- set DNI;
- set GODZINY;
- set GRUPY within PRZEDMIOTY cross DNI cross GODZINY cross 1..10;
- var x{GRUPY} binary;
- maximize atr: sum{(p,d,g,a) in GRUPY} x[p,d,g,a]*a;
- kolizja{d in DNI, g in GODZINY}: sum{(p,d,g,a) in GRUPY} x[p,d,g,a] <=1;
- przedm{p in PRZEDMIOTY}: sum{(p,d,g,a) in GRUPY} x[p,d,g,a] = 1;
- max3{d in DNI}: sum{(p,d,g,a) in GRUPY} x[p,d,g,a] <=3;
- solve;
- display x;
- data;
- set PRZEDMIOTY:= "Matematyka" "Fizyka" "Ekonomia" "Angielski" "Badania operacyjne" "Logika" ;
- set GODZINY:="7-9" "9-11" "11-13" "13-15" "15-17";
- set DNI:="PN" "WT" "SR" "CZ" "PT";
- set GRUPY:= "Matematyka" "PN" "7-9" 1,
- "Matematyka" "PN" "11-13" 2,
- "Matematyka" "WT" "13-15" 7,
- "Fizyka" "SR" "11-13" 3,
- "Angielski" "PN" "7-9" 1,
- "Angielski" "SR" "9-11" 2,
- "Fizyka" "SR" "15-17" 8,
- "Ekonomia" "WT" "9-11" 2,
- "Logika" "PT" "7-9" 1,
- "Logika" "CZ" "15-17" 1,
- "Badania operacyjne" "SR" "11-13" 4,
- "Badania operacyjne" "CZ" "9-11" 5,
- "Badania operacyjne" "CZ" "11-13" 6,
- "Ekonomia" "PT" "15-17" 8,
- "Ekonomia" "PN" "9-11" 2,
- "Logika" "SR" "15-17" 10,
- "Angielski" "SR" "15-17" 10
- "Fizyka" "PT" "13-15" 8,
- "Fizyka" "CZ" "9-11" 1,
- "Matematyka" "SR" "7-9" 2,
- "Ekonomia" "CZ" "15-17" 6,
- "Badania operacyjne" "PT" "11-13" 5,
- "Fizyka" "WT" "9-11" 10,
- "Logika" "SR" "15-17" 3;
- end;
- ZADANIE 8
- param f;
- param o;
- param max_szt{1..f};
- param min_popyt{1..o};
- param koszty{1..f,1..o};
- param koszt_start{1..f};
- param min_szt{1..f};
- var x{1..f,1..o} >=0 integerl
- var start{1..f} binary;
- minimize k: sum{i in 1..f, j in 1..o} x[i,j]*koszty[i,j] + sum{i in 1..f}koszt_start[i]*start[i];
- max_ogr{i in 1..f}: sum{j in 1..o}x[i,j] <= max_szt[i]*start[i];
- min_ogr{i in 1..f}: sum{j in 1..o}x[i,j] >= min_szt[i]*start[i];
- popyt_ogr{j in 1..o}: sum{i in 1..f} x [i,j] >= min_popyt[j];
- solve;
- display x,start;
- data;
- param f := 3;
- param o := 3;
- param max_szt:= 1 200, 2 200, 3 300;
- param min_popyt:= 1 100, 1 100, 3 100;