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;