From 00c3398473a3c3436d159b11572b3444b8d9d49b Mon Sep 17 00:00:00 2001 From: Kilokem Date: Tue, 29 Oct 2024 19:15:26 +0100 Subject: [PATCH] Begin --- gyakorlatok/Feladatok_v1.docx | Bin 0 -> 13193 bytes gyakorlatok/csarnok.mod | 10 + gyakorlatok/csarnok.out | 31 +++ gyakorlatok/cvitamin.mod | 9 + gyakorlatok/cvitamin.out | 30 +++ gyakorlatok/fesztival.mod | 17 ++ gyakorlatok/fesztival.out | 38 +++ gyakorlatok/forgatas.mod | 62 +++++ gyakorlatok/forgatas.out | 451 ++++++++++++++++++++++++++++++++++ gyakorlatok/froccs.mod | 23 ++ gyakorlatok/froccs.out | 37 +++ gyakorlatok/froccs_kie | 23 ++ gyakorlatok/froccs_kieg.mod | 46 ++++ gyakorlatok/froccs_kieg.out | 54 ++++ gyakorlatok/froccs_kieg_2 | 21 ++ gyakorlatok/froccs_kieg_2.mod | 48 ++++ gyakorlatok/froccs_kieg_2.out | 39 +++ gyakorlatok/gyartas.mod | 9 + gyakorlatok/gyartas.out | 30 +++ gyakorlatok/happy.mod | 28 +++ gyakorlatok/happy.out | 38 +++ gyakorlatok/hatizsak.mod | 10 + gyakorlatok/hatizsak.out | 31 +++ gyakorlatok/lekvar.mod | 8 + gyakorlatok/lekvar.out | 29 +++ gyakorlatok/malom.mod | 76 ++++++ gyakorlatok/malom.out | 78 ++++++ gyakorlatok/mikulas.mod | 22 ++ gyakorlatok/mikulas.out | 42 ++++ gyakorlatok/szabo.mod | 9 + gyakorlatok/szabo.out | 30 +++ gyakorlatok/szendvicsek.mod | 18 ++ gyakorlatok/szendvicsek.out | 32 +++ gyakorlatok/tabletta | 9 + gyakorlatok/tabletta.mod | 9 + gyakorlatok/tabletta.out | 30 +++ 36 files changed, 1477 insertions(+) create mode 100644 gyakorlatok/Feladatok_v1.docx create mode 100644 gyakorlatok/csarnok.mod create mode 100644 gyakorlatok/csarnok.out create mode 100644 gyakorlatok/cvitamin.mod create mode 100644 gyakorlatok/cvitamin.out create mode 100644 gyakorlatok/fesztival.mod create mode 100644 gyakorlatok/fesztival.out create mode 100644 gyakorlatok/forgatas.mod create mode 100644 gyakorlatok/forgatas.out create mode 100644 gyakorlatok/froccs.mod create mode 100644 gyakorlatok/froccs.out create mode 100644 gyakorlatok/froccs_kie create mode 100644 gyakorlatok/froccs_kieg.mod create mode 100644 gyakorlatok/froccs_kieg.out create mode 100644 gyakorlatok/froccs_kieg_2 create mode 100644 gyakorlatok/froccs_kieg_2.mod create mode 100644 gyakorlatok/froccs_kieg_2.out create mode 100644 gyakorlatok/gyartas.mod create mode 100644 gyakorlatok/gyartas.out create mode 100644 gyakorlatok/happy.mod create mode 100644 gyakorlatok/happy.out create mode 100644 gyakorlatok/hatizsak.mod create mode 100644 gyakorlatok/hatizsak.out create mode 100644 gyakorlatok/lekvar.mod create mode 100644 gyakorlatok/lekvar.out create mode 100644 gyakorlatok/malom.mod create mode 100644 gyakorlatok/malom.out create mode 100644 gyakorlatok/mikulas.mod create mode 100644 gyakorlatok/mikulas.out create mode 100644 gyakorlatok/szabo.mod create mode 100644 gyakorlatok/szabo.out create mode 100644 gyakorlatok/szendvicsek.mod create mode 100644 gyakorlatok/szendvicsek.out create mode 100644 gyakorlatok/tabletta create mode 100644 gyakorlatok/tabletta.mod create mode 100644 gyakorlatok/tabletta.out diff --git a/gyakorlatok/Feladatok_v1.docx b/gyakorlatok/Feladatok_v1.docx new file mode 100644 index 0000000000000000000000000000000000000000..1b172226a952241134eed01439630ea4e93579d4 GIT binary patch literal 13193 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 literal 0 HcmV?d00001 diff --git a/gyakorlatok/csarnok.mod b/gyakorlatok/csarnok.mod new file mode 100644 index 0000000..c36c5e7 --- /dev/null +++ b/gyakorlatok/csarnok.mod @@ -0,0 +1,10 @@ +var a >= 0, integer; +var b >= 0, integer; + +s.t. lemez: a*4000 + b*5000 <= 32000; +s.t. acel: a*3 + b*3 <= 24; +s.t. tetofedo: a*300 + b*200 <= 2000; +s.t. beton: a*200 + b*100 <= 1600; + +maximize nyereseg: a*4000 + b*5000; +end; \ No newline at end of file diff --git a/gyakorlatok/csarnok.out b/gyakorlatok/csarnok.out new file mode 100644 index 0000000..52864c6 --- /dev/null +++ b/gyakorlatok/csarnok.out @@ -0,0 +1,31 @@ +Problem: csarnok +Rows: 5 +Columns: 2 (2 integer, 0 binary) +Non-zeros: 10 +Status: INTEGER OPTIMAL +Objective: nyereseg = 32000 (MAXimum) + + No. Row name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 lemez 32000 32000 + 2 acel 21 24 + 3 tetofedo 1700 2000 + 4 beton 1000 1600 + 5 nyereseg 32000 + + No. Column name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 a * 3 0 + 2 b * 4 0 + +Integer feasibility conditions: + +KKT.PE: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +KKT.PB: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +End of output diff --git a/gyakorlatok/cvitamin.mod b/gyakorlatok/cvitamin.mod new file mode 100644 index 0000000..c7c9ced --- /dev/null +++ b/gyakorlatok/cvitamin.mod @@ -0,0 +1,9 @@ +var alma >= 0, integer; +var citrom >= 0, integer; + +s.t. kaloria: alma*80 + citrom*50 <= 400; +s.t. vitamin: alma*100 + citrom*300 >= 500; +s.t. vas: alma*0.5 + citrom*0.2 >= 1.2; + +minimize gyumolcs: alma*40 + citrom*60; +end; \ No newline at end of file diff --git a/gyakorlatok/cvitamin.out b/gyakorlatok/cvitamin.out new file mode 100644 index 0000000..45a1442 --- /dev/null +++ b/gyakorlatok/cvitamin.out @@ -0,0 +1,30 @@ +Problem: cvitamin +Rows: 4 +Columns: 2 (2 integer, 0 binary) +Non-zeros: 8 +Status: INTEGER OPTIMAL +Objective: gyumolcs = 140 (MINimum) + + No. Row name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 kaloria 210 400 + 2 vitamin 500 500 + 3 vas 1.2 1.2 + 4 gyumolcs 140 + + No. Column name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 alma * 2 0 + 2 citrom * 1 0 + +Integer feasibility conditions: + +KKT.PE: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +KKT.PB: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +End of output diff --git a/gyakorlatok/fesztival.mod b/gyakorlatok/fesztival.mod new file mode 100644 index 0000000..efe2d5a --- /dev/null +++ b/gyakorlatok/fesztival.mod @@ -0,0 +1,17 @@ +#Fesztival + +var F1 binary; +var F2 binary; +var F3 binary; +var F4 binary; +var F5 binary; + +s.t. Haggard: F1 + F3 + F4 >= 1; +s.t. Stratovarius: F1 + F2 + F3 + F5>= 1; +s.t. Epica: F1 + F2 + F4 + F5 >= 1; +s.t. Dalriada: F3 + F5 >= 1; +s.t. Apocalyptica: F4 >= 1; +s.t. Liva: F2 + F3 + F4 + F5 >= 1; +s.t. Eluveitie: F3 + F5 >= 1; + +minimize NumberOfFestivals: F1 + F2 + F3 + F4 + F5; \ No newline at end of file diff --git a/gyakorlatok/fesztival.out b/gyakorlatok/fesztival.out new file mode 100644 index 0000000..3471558 --- /dev/null +++ b/gyakorlatok/fesztival.out @@ -0,0 +1,38 @@ +Problem: fesztival +Rows: 8 +Columns: 5 (5 integer, 5 binary) +Non-zeros: 25 +Status: INTEGER OPTIMAL +Objective: NumberOfFestivals = 2 (MINimum) + + No. Row name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 Haggard 2 1 + 2 Stratovarius 1 1 + 3 Epica 1 1 + 4 Dalriada 1 1 + 5 Apocalyptica 1 1 + 6 Liva 2 1 + 7 Eluveitie 1 1 + 8 NumberOfFestivals + 2 + + No. Column name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 F1 * 0 0 1 + 2 F2 * 0 0 1 + 3 F3 * 1 0 1 + 4 F4 * 1 0 1 + 5 F5 * 0 0 1 + +Integer feasibility conditions: + +KKT.PE: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +KKT.PB: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +End of output diff --git a/gyakorlatok/forgatas.mod b/gyakorlatok/forgatas.mod new file mode 100644 index 0000000..fc32dd8 --- /dev/null +++ b/gyakorlatok/forgatas.mod @@ -0,0 +1,62 @@ +set Actors; +param salary {Actors} >=0; + +param sceneCount; +set Scene:=1..sceneCount; + +param time{Scene} >=0; + +param shooting {Scene, Actors} binary; + + +param dayCount; +set Days:=1..dayCount; + +param hoursADay; + + +var doScene{Scene, Days} binary; +var actorComeIn{Actors, Days} binary; + +#Max forgatási idő +s.t. MaxShootingHoursADay{d in Days}: sum{s in Scene} doScene[s, d] * time[s] <= hoursADay; + +#Forgat e a színész +s.t. IfActorActsADay{d in Days, s in Scene, a in Actors: shooting[s,a]==1}: doScene [s, d] <= actorComeIn[a, d]; + +#Minden jelenet legyen leforgatva +s.t. DoAllScene {s in Scene}: sum{d in Days} doScene[s, d]=1; + +minimize CostOfShooting: sum{ d in Days, a in Actors} actorComeIn[a, d] * salary [a]; + +data; +set Actors:= A B C D E; +param sceneCount:=5; +param dayCount:=10; +param hoursADay:=8; + + +param salary:= +A 180 +B 280 +C 250 +D 230 +E 450 +; + +param shooting: + A B C D E := +1 1 0 0 0 1 +2 0 1 1 1 0 +3 1 0 0 1 1 +4 0 1 1 0 0 +5 0 0 1 1 0 +; + +param time:= +1 1 +2 1.5 +3 2.3 +4 1.4 +5 1.7 +; \ No newline at end of file diff --git a/gyakorlatok/forgatas.out b/gyakorlatok/forgatas.out new file mode 100644 index 0000000..48d4834 --- /dev/null +++ b/gyakorlatok/forgatas.out @@ -0,0 +1,451 @@ +Problem: forgatas +Rows: 136 +Columns: 100 (100 integer, 100 binary) +Non-zeros: 390 +Status: INTEGER OPTIMAL +Objective: CostOfShooting = 1390 (MINimum) + + No. Row name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 MaxShootingHoursADay[1] + 0 8 + 2 MaxShootingHoursADay[2] + 0 8 + 3 MaxShootingHoursADay[3] + 0 8 + 4 MaxShootingHoursADay[4] + 0 8 + 5 MaxShootingHoursADay[5] + 0 8 + 6 MaxShootingHoursADay[6] + 0 8 + 7 MaxShootingHoursADay[7] + 0 8 + 8 MaxShootingHoursADay[8] + 0 8 + 9 MaxShootingHoursADay[9] + 0 8 + 10 MaxShootingHoursADay[10] + 7.9 8 + 11 IfActorActsADay[1,1,A] + 0 -0 + 12 IfActorActsADay[1,1,E] + 0 -0 + 13 IfActorActsADay[1,2,B] + 0 -0 + 14 IfActorActsADay[1,2,C] + 0 -0 + 15 IfActorActsADay[1,2,D] + 0 -0 + 16 IfActorActsADay[1,3,A] + 0 -0 + 17 IfActorActsADay[1,3,D] + 0 -0 + 18 IfActorActsADay[1,3,E] + 0 -0 + 19 IfActorActsADay[1,4,B] + 0 -0 + 20 IfActorActsADay[1,4,C] + 0 -0 + 21 IfActorActsADay[1,5,C] + 0 -0 + 22 IfActorActsADay[1,5,D] + 0 -0 + 23 IfActorActsADay[2,1,A] + 0 -0 + 24 IfActorActsADay[2,1,E] + 0 -0 + 25 IfActorActsADay[2,2,B] + 0 -0 + 26 IfActorActsADay[2,2,C] + 0 -0 + 27 IfActorActsADay[2,2,D] + 0 -0 + 28 IfActorActsADay[2,3,A] + 0 -0 + 29 IfActorActsADay[2,3,D] + 0 -0 + 30 IfActorActsADay[2,3,E] + 0 -0 + 31 IfActorActsADay[2,4,B] + 0 -0 + 32 IfActorActsADay[2,4,C] + 0 -0 + 33 IfActorActsADay[2,5,C] + 0 -0 + 34 IfActorActsADay[2,5,D] + 0 -0 + 35 IfActorActsADay[3,1,A] + 0 -0 + 36 IfActorActsADay[3,1,E] + 0 -0 + 37 IfActorActsADay[3,2,B] + 0 -0 + 38 IfActorActsADay[3,2,C] + 0 -0 + 39 IfActorActsADay[3,2,D] + 0 -0 + 40 IfActorActsADay[3,3,A] + 0 -0 + 41 IfActorActsADay[3,3,D] + 0 -0 + 42 IfActorActsADay[3,3,E] + 0 -0 + 43 IfActorActsADay[3,4,B] + 0 -0 + 44 IfActorActsADay[3,4,C] + 0 -0 + 45 IfActorActsADay[3,5,C] + 0 -0 + 46 IfActorActsADay[3,5,D] + 0 -0 + 47 IfActorActsADay[4,1,A] + 0 -0 + 48 IfActorActsADay[4,1,E] + 0 -0 + 49 IfActorActsADay[4,2,B] + 0 -0 + 50 IfActorActsADay[4,2,C] + 0 -0 + 51 IfActorActsADay[4,2,D] + 0 -0 + 52 IfActorActsADay[4,3,A] + 0 -0 + 53 IfActorActsADay[4,3,D] + 0 -0 + 54 IfActorActsADay[4,3,E] + 0 -0 + 55 IfActorActsADay[4,4,B] + 0 -0 + 56 IfActorActsADay[4,4,C] + 0 -0 + 57 IfActorActsADay[4,5,C] + 0 -0 + 58 IfActorActsADay[4,5,D] + 0 -0 + 59 IfActorActsADay[5,1,A] + 0 -0 + 60 IfActorActsADay[5,1,E] + 0 -0 + 61 IfActorActsADay[5,2,B] + 0 -0 + 62 IfActorActsADay[5,2,C] + 0 -0 + 63 IfActorActsADay[5,2,D] + 0 -0 + 64 IfActorActsADay[5,3,A] + 0 -0 + 65 IfActorActsADay[5,3,D] + 0 -0 + 66 IfActorActsADay[5,3,E] + 0 -0 + 67 IfActorActsADay[5,4,B] + 0 -0 + 68 IfActorActsADay[5,4,C] + 0 -0 + 69 IfActorActsADay[5,5,C] + 0 -0 + 70 IfActorActsADay[5,5,D] + 0 -0 + 71 IfActorActsADay[6,1,A] + 0 -0 + 72 IfActorActsADay[6,1,E] + 0 -0 + 73 IfActorActsADay[6,2,B] + 0 -0 + 74 IfActorActsADay[6,2,C] + 0 -0 + 75 IfActorActsADay[6,2,D] + 0 -0 + 76 IfActorActsADay[6,3,A] + 0 -0 + 77 IfActorActsADay[6,3,D] + 0 -0 + 78 IfActorActsADay[6,3,E] + 0 -0 + 79 IfActorActsADay[6,4,B] + 0 -0 + 80 IfActorActsADay[6,4,C] + 0 -0 + 81 IfActorActsADay[6,5,C] + 0 -0 + 82 IfActorActsADay[6,5,D] + 0 -0 + 83 IfActorActsADay[7,1,A] + 0 -0 + 84 IfActorActsADay[7,1,E] + 0 -0 + 85 IfActorActsADay[7,2,B] + 0 -0 + 86 IfActorActsADay[7,2,C] + 0 -0 + 87 IfActorActsADay[7,2,D] + 0 -0 + 88 IfActorActsADay[7,3,A] + 0 -0 + 89 IfActorActsADay[7,3,D] + 0 -0 + 90 IfActorActsADay[7,3,E] + 0 -0 + 91 IfActorActsADay[7,4,B] + 0 -0 + 92 IfActorActsADay[7,4,C] + 0 -0 + 93 IfActorActsADay[7,5,C] + 0 -0 + 94 IfActorActsADay[7,5,D] + 0 -0 + 95 IfActorActsADay[8,1,A] + 0 -0 + 96 IfActorActsADay[8,1,E] + 0 -0 + 97 IfActorActsADay[8,2,B] + 0 -0 + 98 IfActorActsADay[8,2,C] + 0 -0 + 99 IfActorActsADay[8,2,D] + 0 -0 + 100 IfActorActsADay[8,3,A] + 0 -0 + 101 IfActorActsADay[8,3,D] + 0 -0 + 102 IfActorActsADay[8,3,E] + 0 -0 + 103 IfActorActsADay[8,4,B] + 0 -0 + 104 IfActorActsADay[8,4,C] + 0 -0 + 105 IfActorActsADay[8,5,C] + 0 -0 + 106 IfActorActsADay[8,5,D] + 0 -0 + 107 IfActorActsADay[9,1,A] + 0 -0 + 108 IfActorActsADay[9,1,E] + 0 -0 + 109 IfActorActsADay[9,2,B] + 0 -0 + 110 IfActorActsADay[9,2,C] + 0 -0 + 111 IfActorActsADay[9,2,D] + 0 -0 + 112 IfActorActsADay[9,3,A] + 0 -0 + 113 IfActorActsADay[9,3,D] + 0 -0 + 114 IfActorActsADay[9,3,E] + 0 -0 + 115 IfActorActsADay[9,4,B] + 0 -0 + 116 IfActorActsADay[9,4,C] + 0 -0 + 117 IfActorActsADay[9,5,C] + 0 -0 + 118 IfActorActsADay[9,5,D] + 0 -0 + 119 IfActorActsADay[10,1,A] + 0 -0 + 120 IfActorActsADay[10,1,E] + 0 -0 + 121 IfActorActsADay[10,2,B] + 0 -0 + 122 IfActorActsADay[10,2,C] + 0 -0 + 123 IfActorActsADay[10,2,D] + 0 -0 + 124 IfActorActsADay[10,3,A] + 0 -0 + 125 IfActorActsADay[10,3,D] + 0 -0 + 126 IfActorActsADay[10,3,E] + 0 -0 + 127 IfActorActsADay[10,4,B] + 0 -0 + 128 IfActorActsADay[10,4,C] + 0 -0 + 129 IfActorActsADay[10,5,C] + 0 -0 + 130 IfActorActsADay[10,5,D] + 0 -0 + 131 DoAllScene[1] + 1 1 = + 132 DoAllScene[2] + 1 1 = + 133 DoAllScene[3] + 1 1 = + 134 DoAllScene[4] + 1 1 = + 135 DoAllScene[5] + 1 1 = + 136 CostOfShooting + 1390 + + No. Column name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 doScene[1,1] * 0 0 1 + 2 doScene[2,1] * 0 0 1 + 3 doScene[3,1] * 0 0 1 + 4 doScene[4,1] * 0 0 1 + 5 doScene[5,1] * 0 0 1 + 6 doScene[1,2] * 0 0 1 + 7 doScene[2,2] * 0 0 1 + 8 doScene[3,2] * 0 0 1 + 9 doScene[4,2] * 0 0 1 + 10 doScene[5,2] * 0 0 1 + 11 doScene[1,3] * 0 0 1 + 12 doScene[2,3] * 0 0 1 + 13 doScene[3,3] * 0 0 1 + 14 doScene[4,3] * 0 0 1 + 15 doScene[5,3] * 0 0 1 + 16 doScene[1,4] * 0 0 1 + 17 doScene[2,4] * 0 0 1 + 18 doScene[3,4] * 0 0 1 + 19 doScene[4,4] * 0 0 1 + 20 doScene[5,4] * 0 0 1 + 21 doScene[1,5] * 0 0 1 + 22 doScene[2,5] * 0 0 1 + 23 doScene[3,5] * 0 0 1 + 24 doScene[4,5] * 0 0 1 + 25 doScene[5,5] * 0 0 1 + 26 doScene[1,6] * 0 0 1 + 27 doScene[2,6] * 0 0 1 + 28 doScene[3,6] * 0 0 1 + 29 doScene[4,6] * 0 0 1 + 30 doScene[5,6] * 0 0 1 + 31 doScene[1,7] * 0 0 1 + 32 doScene[2,7] * 0 0 1 + 33 doScene[3,7] * 0 0 1 + 34 doScene[4,7] * 0 0 1 + 35 doScene[5,7] * 0 0 1 + 36 doScene[1,8] * 0 0 1 + 37 doScene[2,8] * 0 0 1 + 38 doScene[3,8] * 0 0 1 + 39 doScene[4,8] * 0 0 1 + 40 doScene[5,8] * 0 0 1 + 41 doScene[1,9] * 0 0 1 + 42 doScene[2,9] * 0 0 1 + 43 doScene[3,9] * 0 0 1 + 44 doScene[4,9] * 0 0 1 + 45 doScene[5,9] * 0 0 1 + 46 doScene[1,10] + * 1 0 1 + 47 doScene[2,10] + * 1 0 1 + 48 doScene[3,10] + * 1 0 1 + 49 doScene[4,10] + * 1 0 1 + 50 doScene[5,10] + * 1 0 1 + 51 actorComeIn[A,1] + * 0 0 1 + 52 actorComeIn[E,1] + * 0 0 1 + 53 actorComeIn[B,1] + * 0 0 1 + 54 actorComeIn[C,1] + * 0 0 1 + 55 actorComeIn[D,1] + * 0 0 1 + 56 actorComeIn[A,2] + * 0 0 1 + 57 actorComeIn[E,2] + * 0 0 1 + 58 actorComeIn[B,2] + * 0 0 1 + 59 actorComeIn[C,2] + * 0 0 1 + 60 actorComeIn[D,2] + * 0 0 1 + 61 actorComeIn[A,3] + * 0 0 1 + 62 actorComeIn[E,3] + * 0 0 1 + 63 actorComeIn[B,3] + * 0 0 1 + 64 actorComeIn[C,3] + * 0 0 1 + 65 actorComeIn[D,3] + * 0 0 1 + 66 actorComeIn[A,4] + * 0 0 1 + 67 actorComeIn[E,4] + * 0 0 1 + 68 actorComeIn[B,4] + * 0 0 1 + 69 actorComeIn[C,4] + * 0 0 1 + 70 actorComeIn[D,4] + * 0 0 1 + 71 actorComeIn[A,5] + * 0 0 1 + 72 actorComeIn[E,5] + * 0 0 1 + 73 actorComeIn[B,5] + * 0 0 1 + 74 actorComeIn[C,5] + * 0 0 1 + 75 actorComeIn[D,5] + * 0 0 1 + 76 actorComeIn[A,6] + * 0 0 1 + 77 actorComeIn[E,6] + * 0 0 1 + 78 actorComeIn[B,6] + * 0 0 1 + 79 actorComeIn[C,6] + * 0 0 1 + 80 actorComeIn[D,6] + * 0 0 1 + 81 actorComeIn[A,7] + * 0 0 1 + 82 actorComeIn[E,7] + * 0 0 1 + 83 actorComeIn[B,7] + * 0 0 1 + 84 actorComeIn[C,7] + * 0 0 1 + 85 actorComeIn[D,7] + * 0 0 1 + 86 actorComeIn[A,8] + * 0 0 1 + 87 actorComeIn[E,8] + * 0 0 1 + 88 actorComeIn[B,8] + * 0 0 1 + 89 actorComeIn[C,8] + * 0 0 1 + 90 actorComeIn[D,8] + * 0 0 1 + 91 actorComeIn[A,9] + * 0 0 1 + 92 actorComeIn[E,9] + * 0 0 1 + 93 actorComeIn[B,9] + * 0 0 1 + 94 actorComeIn[C,9] + * 0 0 1 + 95 actorComeIn[D,9] + * 0 0 1 + 96 actorComeIn[A,10] + * 1 0 1 + 97 actorComeIn[E,10] + * 1 0 1 + 98 actorComeIn[B,10] + * 1 0 1 + 99 actorComeIn[C,10] + * 1 0 1 + 100 actorComeIn[D,10] + * 1 0 1 + +Integer feasibility conditions: + +KKT.PE: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +KKT.PB: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +End of output diff --git a/gyakorlatok/froccs.mod b/gyakorlatok/froccs.mod new file mode 100644 index 0000000..3a51ee0 --- /dev/null +++ b/gyakorlatok/froccs.mod @@ -0,0 +1,23 @@ +var kf >=0, integer; +var nf >=0, integer; +var hl >=0, integer; +var hm >=0, integer; +var vh >=0, integer; +var krf >=0, integer; +var sf >=0, integer; +var pf >=0, integer; +var hu >=0, integer; +var lf >=0, integer; +var pm >=0, integer; +var maf >=0, integer; +var csat >=0, integer; +var lmp >=0, integer; +var kaszf >=0, integer; +var harm >=0, integer; + + +s.t. bor: kf*1 + nf*2 + hl*1 + hm*3 + vh*2 +krf*9 + sf*1 + pf*6 + hu*4 + lf*1 + pm*6 + maf*0.5 + csat*1 + lmp*1.5 + kaszf*7 +harm*1 <= 100; +s.t. szoda: kf*1 + nf*1 + hl*2 + hm*2 + vh*3 +krf*1 + sf*9 + pf*3 + hu*1 + lf*4 + pm*4 + maf*0.5 + csat*0.5 + lmp*0.5 + kaszf*3 +harm*5 <= 150; + +maximize arbevetel: (kf*200 + nf*330 + hl*210 + hm*470 + vh*400 + krf*1500 + sf*300 + pf*900 + hu*600 +lf*250 + pm*1000 + maf*150 + csat*170 + lmp*300 + kaszf*1100 +harm*300)*10; +end; \ No newline at end of file diff --git a/gyakorlatok/froccs.out b/gyakorlatok/froccs.out new file mode 100644 index 0000000..ffadc97 --- /dev/null +++ b/gyakorlatok/froccs.out @@ -0,0 +1,37 @@ +Problem: froccs +Rows: 3 +Columns: 10 (10 integer, 0 binary) +Non-zeros: 30 +Status: INTEGER OPTIMAL +Objective: arbevetel = 208200 (MAXimum) + + No. Row name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 bor 100 100 + 2 szoda 150 150 + 3 arbevetel 208200 + + No. Column name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 kf * 82 0 + 2 nf * 0 0 + 3 hl * 2 0 + 4 hm * 0 0 + 5 vh * 0 0 + 6 krf * 0 0 + 7 sf * 0 0 + 8 pf * 0 0 + 9 hu * 0 0 + 10 lf * 16 0 + +Integer feasibility conditions: + +KKT.PE: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +KKT.PB: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +End of output diff --git a/gyakorlatok/froccs_kie b/gyakorlatok/froccs_kie new file mode 100644 index 0000000..3a51ee0 --- /dev/null +++ b/gyakorlatok/froccs_kie @@ -0,0 +1,23 @@ +var kf >=0, integer; +var nf >=0, integer; +var hl >=0, integer; +var hm >=0, integer; +var vh >=0, integer; +var krf >=0, integer; +var sf >=0, integer; +var pf >=0, integer; +var hu >=0, integer; +var lf >=0, integer; +var pm >=0, integer; +var maf >=0, integer; +var csat >=0, integer; +var lmp >=0, integer; +var kaszf >=0, integer; +var harm >=0, integer; + + +s.t. bor: kf*1 + nf*2 + hl*1 + hm*3 + vh*2 +krf*9 + sf*1 + pf*6 + hu*4 + lf*1 + pm*6 + maf*0.5 + csat*1 + lmp*1.5 + kaszf*7 +harm*1 <= 100; +s.t. szoda: kf*1 + nf*1 + hl*2 + hm*2 + vh*3 +krf*1 + sf*9 + pf*3 + hu*1 + lf*4 + pm*4 + maf*0.5 + csat*0.5 + lmp*0.5 + kaszf*3 +harm*5 <= 150; + +maximize arbevetel: (kf*200 + nf*330 + hl*210 + hm*470 + vh*400 + krf*1500 + sf*300 + pf*900 + hu*600 +lf*250 + pm*1000 + maf*150 + csat*170 + lmp*300 + kaszf*1100 +harm*300)*10; +end; \ No newline at end of file diff --git a/gyakorlatok/froccs_kieg.mod b/gyakorlatok/froccs_kieg.mod new file mode 100644 index 0000000..8a54197 --- /dev/null +++ b/gyakorlatok/froccs_kieg.mod @@ -0,0 +1,46 @@ +var kf >=0, integer; +var nf >=0, integer; +var hl >=0, integer; +var hm >=0, integer; +var vh >=0, integer; +var krf >=0, integer; +var sf >=0, integer; +var pf >=0, integer; +var hu >=0, integer; +var lf >=0, integer; +var pm >=0, integer; +var maf >=0, integer; +var csat >=0, integer; +var lmp >=0, integer; +var kaszf >=0, integer; +var harm >=0, integer; + + +#extra +#Maci fröccs: 1 fehérbor, 1.9 szóda, 0.1 mszörp - 800 ft +#Szerencsésflótás: 1 fbor, 1 rum, 1 szóda - 900 ft +#Újházi fröccs: 1 fbor és 2 kuborka - 150 ft +#Nagy medve: 3 vbor, 1 rum, 1 kóla - 1200 ft +#kisvadász: 1 vbor, 1 kóla - 500 ft +#nagyvadász: 2 vbor, 1 kóla - 650 ft + +var maci >= 0, integer; +var szerencs >= 0, integer; +var uf >= 0, integer; +var nagym >= 0, integer; +var kisv >= 0, integer; +var nagyv >= 0, integer; + +#Málnaszörp: 10l, Rum 20 l, Uborka 10 l, kóla 20 l, vbor 50l + +s.t. bor: kf*1 + nf*2 + hl*1 + hm*3 + vh*2 +krf*9 + sf*1 + pf*6 + hu*4 + lf*1 + pm*6 + maf*0.5 + csat*1 + lmp*1.5 + kaszf*7 +harm*1 + maci*1 + szerencs*1 + uf*1 <= 1000; +s.t. szoda: kf*1 + nf*1 + hl*2 + hm*2 + vh*3 +krf*1 + sf*9 + pf*3 + hu*1 + lf*4 + pm*4 + maf*0.5 + csat*0.5 + lmp*0.5 + kaszf*3 +harm*5 + maci*1.9 + szerencs*1 <= 1500; + +s.t. rum: szerencs*1 +nagym*1 <= 200; +s.t. szorp: maci*0.1 <= 100; +s.t. uborka: uf*2 <= 100; +s.t. kola: nagym*1 + kisv*1 + nagyv*1 <= 200; +s.t. vbor: nagym*3 + kisv*1 + nagyv*2 <= 500; + +maximize arbevetel: (kf*200 + nf*330 + hl*210 + hm*470 + vh*400 + krf*1500 + sf*300 + pf*900 + hu*600 +lf*250 + pm*1000 + maf*150 + csat*170 + lmp*300 + kaszf*1100 +harm*300 + maci*800 + szerencs*900 + uf*150 + nagym*1200 + kisv*500 + nagyv*650); +end; \ No newline at end of file diff --git a/gyakorlatok/froccs_kieg.out b/gyakorlatok/froccs_kieg.out new file mode 100644 index 0000000..03794d0 --- /dev/null +++ b/gyakorlatok/froccs_kieg.out @@ -0,0 +1,54 @@ +Problem: froccs_kieg +Rows: 8 +Columns: 22 (22 integer, 0 binary) +Non-zeros: 69 +Status: INTEGER OPTIMAL +Objective: arbevetel = 886250 (MAXimum) + + No. Row name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 bor 1000 1000 + 2 szoda 1500 1500 + 3 rum 200 200 + 4 szorp 73 100 + 5 uborka 90 100 + 6 kola 200 200 + 7 vbor 500 500 + 8 arbevetel 886250 + + No. Column name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 kf * 0 0 + 2 nf * 0 0 + 3 hl * 0 0 + 4 hm * 0 0 + 5 vh * 0 0 + 6 krf * 14 0 + 7 sf * 0 0 + 8 pf * 0 0 + 9 hu * 0 0 + 10 lf * 0 0 + 11 pm * 0 0 + 12 maf * 0 0 + 13 csat * 0 0 + 14 lmp * 0 0 + 15 kaszf * 0 0 + 16 harm * 0 0 + 17 maci * 730 0 + 18 szerencs * 99 0 + 19 uf * 45 0 + 20 nagym * 101 0 + 21 kisv * 1 0 + 22 nagyv * 98 0 + +Integer feasibility conditions: + +KKT.PE: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +KKT.PB: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +End of output diff --git a/gyakorlatok/froccs_kieg_2 b/gyakorlatok/froccs_kieg_2 new file mode 100644 index 0000000..9dc7456 --- /dev/null +++ b/gyakorlatok/froccs_kieg_2 @@ -0,0 +1,21 @@ +set Froccs; +set Ingredients; + +var kf >=0, integer; +var nf >=0, integer; +var hl >=0, integer; +var hm >=0, integer; +var vh >=0, integer; +var krf >=0, integer; +var sf >=0, integer; +var pf >=0, integer; +var hu >=0, integer; +var lf >=0, integer; + + + +s.t. bor: kf*1 + nf*2 + hl*1 + hm*3 + vh*2 +krf*9 + sf*1 + pf*6 + hu*4 + lf*1 <= 1000; +s.t. szoda: kf*1 + nf*1 + hl*2 + hm*2 + vh*3 +krf*1 + sf*9 + pf*3 + hu*1 + lf*4 <= 1500; + +maximize arbevetel: (kf*200 + nf*330 + hl*210 + hm*470 + vh*400 + krf*1500 + sf*300 + pf*900 + hu*600 +lf*250 ); +end; \ No newline at end of file diff --git a/gyakorlatok/froccs_kieg_2.mod b/gyakorlatok/froccs_kieg_2.mod new file mode 100644 index 0000000..4f840bf --- /dev/null +++ b/gyakorlatok/froccs_kieg_2.mod @@ -0,0 +1,48 @@ +set Froccs; +set Ingredients; +var Sale {Froccs} >= 0, integer; + +param HowMany {Froccs, Ingredients}; +param Price {Froccs}; +param Use {Ingredients}; + +s.t. UseIngredietns{i in Ingredients}:sum{f in Froccs}HowMany[f,i]*Sale[f] <= Use[i]; +maximize TotalIncome: sum{f in Froccs} Sale[f]*Price[f]; + +data; +set Froccs:= kf, nf, hl, hm, vh, krf, sf, pf, hu, lf; +set Ingredients:= Wine, Soda; + +param HowMany: + Wine Soda:= +kf 1 1 +nf 2 1 +hl 1 2 +hm 3 2 +vh 2 3 +krf 9 1 +sf 1 9 +pf 6 3 +hu 4 1 +lf 1 4 +; + +param Price:= +kf 200 +nf 330 +hl 210 +hm 470 +vh 400 +krf 1500 +sf 300 +pf 900 +hu 600 +lf 250 +; + +param Use:= +Wine 1000 +Soda 1500 +; + +end; \ No newline at end of file diff --git a/gyakorlatok/froccs_kieg_2.out b/gyakorlatok/froccs_kieg_2.out new file mode 100644 index 0000000..54486a5 --- /dev/null +++ b/gyakorlatok/froccs_kieg_2.out @@ -0,0 +1,39 @@ +Problem: froccs_kieg_2 +Rows: 3 +Columns: 10 (10 integer, 0 binary) +Non-zeros: 30 +Status: INTEGER OPTIMAL +Objective: TotalIncome = 208320 (MAXimum) + + No. Row name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 UseIngredietns[Wine] + 1000 1000 + 2 UseIngredietns[Soda] + 1500 1500 + 3 TotalIncome 208320 + + No. Column name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 Sale[kf] * 832 0 + 2 Sale[nf] * 0 0 + 3 Sale[hl] * 2 0 + 4 Sale[hm] * 0 0 + 5 Sale[vh] * 0 0 + 6 Sale[krf] * 0 0 + 7 Sale[sf] * 0 0 + 8 Sale[pf] * 0 0 + 9 Sale[hu] * 0 0 + 10 Sale[lf] * 166 0 + +Integer feasibility conditions: + +KKT.PE: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +KKT.PB: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +End of output diff --git a/gyakorlatok/gyartas.mod b/gyakorlatok/gyartas.mod new file mode 100644 index 0000000..ee01e68 --- /dev/null +++ b/gyakorlatok/gyartas.mod @@ -0,0 +1,9 @@ +var T1 >= 0, integer; +var T2 >= 0, integer; + +s.t. G1: 3*T1 + 4*T2 <=130; +s.t. G2: 4*T1 + 6*T2 <=130; +s.t. szerelde: 1*T1 + 2*T2 <= 60; + +maximize arbevetel: 8*T1 + 10*T2; +end; \ No newline at end of file diff --git a/gyakorlatok/gyartas.out b/gyakorlatok/gyartas.out new file mode 100644 index 0000000..f08a13e --- /dev/null +++ b/gyakorlatok/gyartas.out @@ -0,0 +1,30 @@ +Problem: gyartas +Rows: 4 +Columns: 2 (2 integer, 0 binary) +Non-zeros: 8 +Status: INTEGER OPTIMAL +Objective: arbevetel = 258 (MAXimum) + + No. Row name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 G1 97 130 + 2 G2 130 130 + 3 szerelde 33 60 + 4 arbevetel 258 + + No. Column name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 T1 * 31 0 + 2 T2 * 1 0 + +Integer feasibility conditions: + +KKT.PE: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +KKT.PB: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +End of output diff --git a/gyakorlatok/happy.mod b/gyakorlatok/happy.mod new file mode 100644 index 0000000..ff2fdc5 --- /dev/null +++ b/gyakorlatok/happy.mod @@ -0,0 +1,28 @@ +#Happy feladat +#Webes projekt csapat, 3-4 fő, minden jobban kell magát éreznie a csapattagoknak és a skilleknek is meg kell lennie +# |Frontend|Backend |Database| CSS |Agility |DevOps | +#Tibor | | X | | X | | | +#Dávid | X | | | X | | | +#Botond | | | X | | X | | +#Bence | | X | X | X | | X | +#Márk | X | | | | X | | +#Balázs | | | X | | | X | + +#Kedveltség: Tibor 0, Dávid 8, Botond -2, Bence 4, Márk 3, Balázs -10 + +var t binary; +var d binary; +var bo binary; +var be binary; +var m binary; +var b binary; + +s.t. front: d+m >= 1; +s.t. back: t+be >= 1; +s.t. datab: bo+be+b >= 1; +s.t. css: t+d+be >= 1; +s.t. agi: bo+m >= 1; +s.t. dev: be+b >= 1; +s.t. letszam: 3 <= t + d + bo + be + m + b <= 4; + +maximize skill: t*0+d*8+bo*(-2)+be*4+m*3+b*(-10); \ No newline at end of file diff --git a/gyakorlatok/happy.out b/gyakorlatok/happy.out new file mode 100644 index 0000000..ba13545 --- /dev/null +++ b/gyakorlatok/happy.out @@ -0,0 +1,38 @@ +Problem: happy +Rows: 8 +Columns: 6 (6 integer, 6 binary) +Non-zeros: 25 +Status: INTEGER OPTIMAL +Objective: skill = 15 (MAXimum) + + No. Row name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 front 2 1 + 2 back 2 1 + 3 datab 1 1 + 4 css 3 1 + 5 agi 1 1 + 6 dev 1 1 + 7 letszam 4 3 4 + 8 skill 15 + + No. Column name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 t * 1 0 1 + 2 d * 1 0 1 + 3 bo * 0 0 1 + 4 be * 1 0 1 + 5 m * 1 0 1 + 6 b * 0 0 1 + +Integer feasibility conditions: + +KKT.PE: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +KKT.PB: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +End of output diff --git a/gyakorlatok/hatizsak.mod b/gyakorlatok/hatizsak.mod new file mode 100644 index 0000000..bd17cf2 --- /dev/null +++ b/gyakorlatok/hatizsak.mod @@ -0,0 +1,10 @@ +var tura >=0, integer; +var mini >=0, integer; + +s.t. munkaido: 45 * tura + 40 * mini <= 35*(40*60); +s.t. maxt: tura <= 100; +s.t. maxm: mini <= 1200; +s.t. anyag: tura * 3 + 2 * mini <= 5400; + +maximize haszon: tura * 32 + mini * 24; +end; \ No newline at end of file diff --git a/gyakorlatok/hatizsak.out b/gyakorlatok/hatizsak.out new file mode 100644 index 0000000..518cddd --- /dev/null +++ b/gyakorlatok/hatizsak.out @@ -0,0 +1,31 @@ +Problem: hatizsak +Rows: 5 +Columns: 2 (2 integer, 0 binary) +Non-zeros: 8 +Status: INTEGER OPTIMAL +Objective: haszon = 32000 (MAXimum) + + No. Row name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 munkaido 52500 84000 + 2 maxt 100 100 + 3 maxm 1200 1200 + 4 anyag 2700 5400 + 5 haszon 32000 + + No. Column name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 tura * 100 0 + 2 mini * 1200 0 + +Integer feasibility conditions: + +KKT.PE: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +KKT.PB: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +End of output diff --git a/gyakorlatok/lekvar.mod b/gyakorlatok/lekvar.mod new file mode 100644 index 0000000..336436f --- /dev/null +++ b/gyakorlatok/lekvar.mod @@ -0,0 +1,8 @@ +var lekvar >= 0, integer; +var befott >= 0, integer; + +s.t. cukor: lekvar*40 + befott*40 <= 8000; +s.t. gyum: lekvar*80 + befott*40 <= 12000; + +maximize profit: lekvar*120 + befott*80; +end; \ No newline at end of file diff --git a/gyakorlatok/lekvar.out b/gyakorlatok/lekvar.out new file mode 100644 index 0000000..ec52c45 --- /dev/null +++ b/gyakorlatok/lekvar.out @@ -0,0 +1,29 @@ +Problem: lekvar +Rows: 3 +Columns: 2 (2 integer, 0 binary) +Non-zeros: 6 +Status: INTEGER OPTIMAL +Objective: profit = 20000 (MAXimum) + + No. Row name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 cukor 8000 8000 + 2 gyum 12000 12000 + 3 profit 20000 + + No. Column name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 lekvar * 100 0 + 2 befott * 100 0 + +Integer feasibility conditions: + +KKT.PE: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +KKT.PB: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +End of output diff --git a/gyakorlatok/malom.mod b/gyakorlatok/malom.mod new file mode 100644 index 0000000..5a03df1 --- /dev/null +++ b/gyakorlatok/malom.mod @@ -0,0 +1,76 @@ +# Halmazok és paraméterek +set Mezo; # Mező +set Malom; # Malom +set Pekseg; # Pékségek + +param Buza {Mezo} >= 0; # Mezőn termelt búza +param MalomKapacitas {Malom} >= 0; # Malmok kapacitása +param TavolsagMezoMalom {Mezo, Malom} >= 0; # Mező és malom közötti távolság +param TavolsagMalomPekseg {Malom, Pekseg} >= 0; # Malom és pékség közötti távolság + +param TeherautoKapacitas; # Teherautó kapacitása (kg) +param OrlesArany; # Őrlési arány (liszt/búza) +param UresFogyasztas; # Üres teherautó fogyasztás (l/100 km) +param ValtozoFogyasztas; # Változó fogyasztás (l/kg/100 km) +param Benzinar; # Benzin ára (Ft/100 km) + +# Változók +var SzallitasMezoMalom {Mezo, Malom} >= 0; # Szállított búza mennyisége mezőről malomba +var SzallitasMalomPekseg {Malom, Pekseg} >= 0; # Szállított liszt mennyisége malomból pékségbe + +# Korlátozások + +# Minden mezőről csak a termelt mennyiség szállítható +s.t. KeszletKorlatozas {m in Mezo}: + sum {l in Malom} SzallitasMezoMalom[m, l] <= Buza[m]; + +# Malom kapacitásának figyelembevétele +s.t. MalomKapacitasKorlatozas {l in Malom}: + sum {m in Mezo} SzallitasMezoMalom[m, l] <= MalomKapacitas[l]; + +# Őrlési arány figyelembevétele (malomból csak a megfelelő lisztmennyiséget lehet szállítani) +s.t. OrlesiAranyKorlatozas {l in Malom}: + sum {p in Pekseg} SzallitasMalomPekseg[l, p] <= sum {m in Mezo} SzallitasMezoMalom[m, l] * OrlesArany; + +# Költségfüggvény +minimize TeljesUzemanyagKoltseg: + # Mezőről malmokba szállítás + sum {m in Mezo, l in Malom} + (UresFogyasztas + ValtozoFogyasztas * SzallitasMezoMalom[m, l]) * TavolsagMezoMalom[m, l] * Benzinar + + + # Malmokból pékségekbe szállítás + sum {l in Malom, p in Pekseg} + (UresFogyasztas + ValtozoFogyasztas * SzallitasMalomPekseg[l, p]) * TavolsagMalomPekseg[l, p] * Benzinar; + +# Adatok +data; +set Mezo := mezo1 mezo2 mezo3 mezo4; +set Malom := malom1 malom2; +set Pekseg := pek1 pek2 pek3; + +param Buza := + mezo1 36526 + mezo2 12368 + mezo3 25634 + mezo4 9999; + +param MalomKapacitas := + malom1 50000 + malom2 60000; + +param TavolsagMezoMalom : malom1 malom2 := + mezo1 201 79 + mezo2 174 143 + mezo3 107 102 + mezo4 130 21; + +param TavolsagMalomPekseg : pek1 pek2 pek3 := + malom1 184 98 60 + malom2 79 58 159; + +param TeherautoKapacitas := 500; +param OrlesArany := 0.9; +param UresFogyasztas := 10; +param ValtozoFogyasztas := 0.006; +param Benzinar := 600; +end; diff --git a/gyakorlatok/malom.out b/gyakorlatok/malom.out new file mode 100644 index 0000000..bd27401 --- /dev/null +++ b/gyakorlatok/malom.out @@ -0,0 +1,78 @@ +Problem: malom +Rows: 9 +Columns: 14 +Non-zeros: 44 +Status: OPTIMAL +Objective: TeljesUzemanyagKoltseg = 9570000 (MINimum) + + No. Row name St Activity Lower bound Upper bound Marginal +------ ------------ -- ------------- ------------- ------------- ------------- + 1 KeszletKorlatozas[mezo1] + B 0 36526 + 2 KeszletKorlatozas[mezo2] + B 0 12368 + 3 KeszletKorlatozas[mezo3] + B 0 25634 + 4 KeszletKorlatozas[mezo4] + B 0 9999 + 5 MalomKapacitasKorlatozas[malom1] + B 0 50000 + 6 MalomKapacitasKorlatozas[malom2] + B 0 60000 + 7 OrlesiAranyKorlatozas[malom1] + B 0 -0 + 8 OrlesiAranyKorlatozas[malom2] + B 0 -0 + 9 TeljesUzemanyagKoltseg + B 0 + + No. Column name St Activity Lower bound Upper bound Marginal +------ ------------ -- ------------- ------------- ------------- ------------- + 1 SzallitasMezoMalom[mezo1,malom1] + NL 0 0 723.6 + 2 SzallitasMezoMalom[mezo1,malom2] + NL 0 0 284.4 + 3 SzallitasMezoMalom[mezo2,malom1] + NL 0 0 626.4 + 4 SzallitasMezoMalom[mezo2,malom2] + NL 0 0 514.8 + 5 SzallitasMezoMalom[mezo3,malom1] + NL 0 0 385.2 + 6 SzallitasMezoMalom[mezo3,malom2] + NL 0 0 367.2 + 7 SzallitasMezoMalom[mezo4,malom1] + NL 0 0 468 + 8 SzallitasMezoMalom[mezo4,malom2] + NL 0 0 75.6 + 9 SzallitasMalomPekseg[malom1,pek1] + NL 0 0 662.4 + 10 SzallitasMalomPekseg[malom1,pek2] + NL 0 0 352.8 + 11 SzallitasMalomPekseg[malom1,pek3] + NL 0 0 216 + 12 SzallitasMalomPekseg[malom2,pek1] + NL 0 0 284.4 + 13 SzallitasMalomPekseg[malom2,pek2] + NL 0 0 208.8 + 14 SzallitasMalomPekseg[malom2,pek3] + NL 0 0 572.4 + +Karush-Kuhn-Tucker optimality conditions: + +KKT.PE: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +KKT.PB: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +KKT.DE: max.abs.err = 0.00e+00 on column 0 + max.rel.err = 0.00e+00 on column 0 + High quality + +KKT.DB: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +End of output diff --git a/gyakorlatok/mikulas.mod b/gyakorlatok/mikulas.mod new file mode 100644 index 0000000..4a56516 --- /dev/null +++ b/gyakorlatok/mikulas.mod @@ -0,0 +1,22 @@ +var cs1, binary; +var cs2, binary; +var cs3, binary; +var cs4, binary; +var cs5, binary; + +var y1 >= 0, integer; +var y2 >= 0, integer; +var y3 >= 0, integer; +var y4 >= 0, integer; +var y5 >= 0, integer; +var y6 >= 0, integer; + +s.t. bcsoki: cs2 + cs4 + cs5 - y1 = 1; +s.t. bnarancs: cs1 + cs4 - y2 = 1; +s.t. bmogyoro: cs1 + cs2 - y3 = 1; +s.t. bvirgacs: cs3 + cs5 - y4 = 1; +s.t. bkinder: cs3 + cs4 - y5 = 1; +s.t. bgumicukor: cs2 + cs3 - y6 = 1; + +minimize koltseg: (5*cs1 + cs2*10 + cs3*3 + cs4*4 + cs5*6) + (y1*2 + y2*3 + y3*1 + y4*4 + y5*5 + y6*6); +end; \ No newline at end of file diff --git a/gyakorlatok/mikulas.out b/gyakorlatok/mikulas.out new file mode 100644 index 0000000..6b0ea0d --- /dev/null +++ b/gyakorlatok/mikulas.out @@ -0,0 +1,42 @@ +Problem: mikulas +Rows: 7 +Columns: 11 (11 integer, 5 binary) +Non-zeros: 30 +Status: INTEGER OPTIMAL +Objective: koltseg = 18 (MINimum) + + No. Row name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 bcsoki 1 1 = + 2 bnarancs 1 1 = + 3 bmogyoro 1 1 = + 4 bvirgacs 1 1 = + 5 bkinder 1 1 = + 6 bgumicukor 1 1 = + 7 koltseg 18 + + No. Column name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 cs1 * 1 0 1 + 2 cs2 * 0 0 1 + 3 cs3 * 1 0 1 + 4 cs4 * 0 0 1 + 5 cs5 * 1 0 1 + 6 y1 * 0 0 + 7 y2 * 0 0 + 8 y3 * 0 0 + 9 y4 * 1 0 + 10 y5 * 0 0 + 11 y6 * 0 0 + +Integer feasibility conditions: + +KKT.PE: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +KKT.PB: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +End of output diff --git a/gyakorlatok/szabo.mod b/gyakorlatok/szabo.mod new file mode 100644 index 0000000..bae9353 --- /dev/null +++ b/gyakorlatok/szabo.mod @@ -0,0 +1,9 @@ +var ing >= 0, integer; +var szoknya >= 0, integer; + +s.t. anyag: ing*3 + szoknya*4 <= 12; +s.t. ido: ing*5 + szoknya*2 = 10; +s.t. darab: ing + szoknya >= 4; + +maximize ruha: ing*4 + szoknya*3; +end; \ No newline at end of file diff --git a/gyakorlatok/szabo.out b/gyakorlatok/szabo.out new file mode 100644 index 0000000..4d98c09 --- /dev/null +++ b/gyakorlatok/szabo.out @@ -0,0 +1,30 @@ +Problem: szabo +Rows: 4 +Columns: 2 (2 integer, 0 binary) +Non-zeros: 8 +Status: INTEGER EMPTY +Objective: ruha = 0 (MAXimum) + + No. Row name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 anyag 0 12 + 2 ido 0 10 = + 3 darab 0 4 + 4 ruha 0 + + No. Column name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 ing * 0 0 + 2 szoknya * 0 0 + +Integer feasibility conditions: + +KKT.PE: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +KKT.PB: max.abs.err = 1.00e+01 on row 2 + max.rel.err = 9.09e-01 on row 2 + SOLUTION IS INFEASIBLE + +End of output diff --git a/gyakorlatok/szendvicsek.mod b/gyakorlatok/szendvicsek.mod new file mode 100644 index 0000000..c1354b8 --- /dev/null +++ b/gyakorlatok/szendvicsek.mod @@ -0,0 +1,18 @@ +#Két féle szendvicset készítünk +#Szalámis szendvics - 3 gramm vaj, 3 karika tojás, 2 szelet szalámi +#Sonkás szendvics - 4 gramm vaj 2 karika tojás, 1 szelet sonka +#Összesen 100 szelet szalámi, 40 szelet sonka, 170 karika tojás és 220 gramm vaj van. Kenyér szelet korlátlan +#Melyik fajta szendvicsből mennyit kell készíteni, ahhoz, hogy a lehető legtöbb szendvicset tudjam elkészíteni + +#Megoldás: + +var sonkas >= 0, integer; +var szalamis >= 0, integer; + +s.t. vaj: 3* szalamis + 4* sonkas <= 220; +s.t. tojas: 3* szalamis + 2* sonkas <= 170; +s.t. szalami: 2* szalamis <= 100; +s.t. sonka: 1* sonkas <= 40; + +maximize szendvicsekszama: sonkas + szalamis; +end; \ No newline at end of file diff --git a/gyakorlatok/szendvicsek.out b/gyakorlatok/szendvicsek.out new file mode 100644 index 0000000..1af6f63 --- /dev/null +++ b/gyakorlatok/szendvicsek.out @@ -0,0 +1,32 @@ +Problem: szendvicsek +Rows: 5 +Columns: 2 (2 integer, 0 binary) +Non-zeros: 8 +Status: INTEGER OPTIMAL +Objective: szendvicsekszama = 65 (MAXimum) + + No. Row name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 vaj 220 220 + 2 tojas 170 170 + 3 szalami 80 100 + 4 sonka 25 40 + 5 szendvicsekszama + 65 + + No. Column name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 sonkas * 25 0 + 2 szalamis * 40 0 + +Integer feasibility conditions: + +KKT.PE: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +KKT.PB: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +End of output diff --git a/gyakorlatok/tabletta b/gyakorlatok/tabletta new file mode 100644 index 0000000..dfbe951 --- /dev/null +++ b/gyakorlatok/tabletta @@ -0,0 +1,9 @@ +var eper >= 0, integer; +var spenot >=0, integer; + +s.t. ossztabletta: eper + spenot <= 8 +s.t. vizsgasiker: eper*7+spenot*10 >=60; +s.t. osszetetel: spenot <= epres; + +minimize tabletta: eper*1500 + spenot*2000; +end; \ No newline at end of file diff --git a/gyakorlatok/tabletta.mod b/gyakorlatok/tabletta.mod new file mode 100644 index 0000000..3358b30 --- /dev/null +++ b/gyakorlatok/tabletta.mod @@ -0,0 +1,9 @@ +var eper >=0, integer; +var spenot >=0, integer; + +s.t. ossztabletta: eper + spenot <= 8; +s.t. vizsgasiker: eper*7 + spenot*10 >=60; +s.t. osszetetel: spenot <= eper; + +minimize tabletta: eper*1500 + spenot*2000; +end; \ No newline at end of file diff --git a/gyakorlatok/tabletta.out b/gyakorlatok/tabletta.out new file mode 100644 index 0000000..b8f25d7 --- /dev/null +++ b/gyakorlatok/tabletta.out @@ -0,0 +1,30 @@ +Problem: tabletta +Rows: 4 +Columns: 2 (2 integer, 0 binary) +Non-zeros: 8 +Status: INTEGER OPTIMAL +Objective: tabletta = 13000 (MINimum) + + No. Row name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 ossztabletta 8 8 + 2 vizsgasiker 62 60 + 3 osszetetel -4 -0 + 4 tabletta 13000 + + No. Column name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 eper * 6 0 + 2 spenot * 2 0 + +Integer feasibility conditions: + +KKT.PE: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +KKT.PB: max.abs.err = 0.00e+00 on row 0 + max.rel.err = 0.00e+00 on row 0 + High quality + +End of output