diff --git a/sajat_gyakorlasok/hatizsak b/sajat_gyakorlasok/hatizsak new file mode 100644 index 0000000..a41fb4d --- /dev/null +++ b/sajat_gyakorlasok/hatizsak @@ -0,0 +1,10 @@ +var tura >= 0 integer; +var mini >= 0 integer; + +s.t. anyag: 3*tura + 2* mini <= 5400; +s.t. turamax: tura <= 1000; +s.t. minimax: mini <= 1200; +s.t. munkaido: 45*tura + 40*mini <= 35*(40*60); + +maximize haszon: 32*tura + 24*mini; + diff --git a/sajat_gyakorlasok/hatizsak.mod b/sajat_gyakorlasok/hatizsak.mod new file mode 100644 index 0000000..c46665c --- /dev/null +++ b/sajat_gyakorlasok/hatizsak.mod @@ -0,0 +1,9 @@ +var tura >= 0 integer; +var mini >= 0 integer; + +s.t. anyag: 3*tura + 2* mini <= 5400; +s.t. turamax: tura <= 1000; +s.t. minimax: mini <= 1200; +s.t. munkaido: 45*tura + 40*mini <= 35*(40*60); + +maximize haszon: 32*tura + 24*mini; \ No newline at end of file diff --git a/sajat_gyakorlasok/hatizsak2.mod b/sajat_gyakorlasok/hatizsak2.mod new file mode 100644 index 0000000..e25c805 --- /dev/null +++ b/sajat_gyakorlasok/hatizsak2.mod @@ -0,0 +1,9 @@ +var tura >= 0 integer; +var mini >= 0 integer; + +s.t. anyag: 3*tura + 2*mini <= 5400; +s.t. mintura: tura <= 1000; +s.t. minimin: mini <= 1200; +s.t. munkaido: tura * 45 + mini * 40 <= 35 * (40*60); + +maximize profit: 32*tura + 24*mini; diff --git a/sajat_gyakorlasok/hatizsak2.out b/sajat_gyakorlasok/hatizsak2.out new file mode 100644 index 0000000..e7b7fae --- /dev/null +++ b/sajat_gyakorlasok/hatizsak2.out @@ -0,0 +1,31 @@ +Problem: hatizsak2 +Rows: 5 +Columns: 2 (2 integer, 0 binary) +Non-zeros: 8 +Status: INTEGER OPTIMAL +Objective: profit = 55400 (MAXimum) + + No. Row name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 anyag 4950 5400 + 2 mintura 1000 1000 + 3 minimin 975 1200 + 4 munkaido 84000 84000 + 5 profit 55400 + + No. Column name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 tura * 1000 0 + 2 mini * 975 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/sajat_gyakorlasok/szendvicsek.mod b/sajat_gyakorlasok/szendvicsek.mod new file mode 100644 index 0000000..9ae4fe8 --- /dev/null +++ b/sajat_gyakorlasok/szendvicsek.mod @@ -0,0 +1,9 @@ +var szalamis >= 0 integer; +var sonkas >= 0 integer; + +s.t. szalami: 2* szalamis <= 100; +s.t. sonka: 1 * sonkas <= 40; +s.t. tojas: 3 * szalamis + 2 * sonkas <= 170; +s.t. vaj: 3 * szalamis + 4 - sonkas <= 220; + +maximize szenvicsek: sonkas + szalamis; \ No newline at end of file diff --git a/sajat_gyakorlasok/szendvicsek.out b/sajat_gyakorlasok/szendvicsek.out new file mode 100644 index 0000000..0394068 --- /dev/null +++ b/sajat_gyakorlasok/szendvicsek.out @@ -0,0 +1,31 @@ +Problem: szendvicsek +Rows: 5 +Columns: 2 (2 integer, 0 binary) +Non-zeros: 8 +Status: INTEGER OPTIMAL +Objective: szenvicsek = 70 (MAXimum) + + No. Row name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 szalami 60 100 + 2 sonka 40 40 + 3 tojas 170 170 + 4 vaj 50 216 + 5 szenvicsek 70 + + No. Column name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 szalamis * 30 0 + 2 sonkas * 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/sziva_anyagai/Autokereskedes.mod b/sziva_anyagai/Autokereskedes.mod new file mode 100644 index 0000000..c2efedb --- /dev/null +++ b/sziva_anyagai/Autokereskedes.mod @@ -0,0 +1,57 @@ +#Szenvedélyünk az autók gyűjtése. +#Jelenleg lehetőségünk van autókat vásárolni, és 5 egymást követő napon tervezzük is megtenni ezt. Minden nap pontosan egy autót tervezünk venni, azonban az autóknak minden egyes nap változik az áruk a világpiaci helyzettől függően. +#Milyen sorrendben vásároljuk meg az autókat, hogy a kollekciónk teljes legyen és a lehető legkisebb legyen a költségünk? + +# Hetfo Kedd Szerda Csutortok Pentek +#Wartburg 60000 65000 61000 66000 60000 +#Lada 50000 55000 63000 60000 52000 +#Kispolski 30000 32000 33000 30000 27000 +#Trabant 70000 65000 77000 85000 100000 +#Skoda 65000 70000 75000 90000 70000 + +#Megoldás: + +#Változók- +var WH binary; +var WK binary; +var WS binary; +var WC binary; +var WP binary; + +var LH binary; +var LK binary; +var LS binary; +var LC binary; +var LP binary; + +var KH binary; +var KK binary; +var KS binary; +var KC binary; +var KP binary; + +var TH binary; +var TK binary; +var TS binary; +var TC binary; +var TP binary; + +var SH binary; +var SK binary; +var SS binary; +var SC binary; +var SP binary; + +s.t. Hetfo : WH + LH + KH + TH + SH =1; +s.t. Kedd : WK + LK + KK + TK + SK =1; +s.t. Szerda : WS + LS + KS + TS + SS =1; +s.t. Csutortok : WC + LC + KC + TC + SC =1; +s.t. Pentek : WP + LP + KP + TP + SP =1; + +s.t. Wartburg: WH + WK + WS + WC + WP =1; +s.t. Lada: LH + LK + LS + LC + LP =1; +s.t. Kispolski: KH + KK + KS + KC + KP =1; +s.t. Trabant: TH + TK + TS + TC + TP =1; +s.t. Skoda: SH + SK + SS + SC + SP =1; + +minimize TotalCost: 60000*WH + 65000*WK + 61000* WS + 66000*WC + 60000* WP + 50000 *LH + 55000*LK + 63000*LS + 60000*LC + 52000*LP + 30000*KH + 32000*KK+ 33000*KS + 30000*KC + 27000*KP + 70000*TH + 65000*TK + 77000*TS + 85000*TC + 100000*TP + 65000*SH + 70000*SK + 75000*SS + 90000*SC + 70000*SP; \ No newline at end of file diff --git a/sziva_anyagai/Autokereskedes_halmazokkal.mod b/sziva_anyagai/Autokereskedes_halmazokkal.mod new file mode 100644 index 0000000..5d23f72 --- /dev/null +++ b/sziva_anyagai/Autokereskedes_halmazokkal.mod @@ -0,0 +1,44 @@ +#Szenvedélyünk az autók gyűjtése. +#Jelenleg lehetőségünk van autókat vásárolni, és 5 egymást követő napon tervezzük is megtenni ezt. Minden nap pontosan egy autót tervezünk venni, azonban az autóknak minden egyes nap változik az áruk a világpiaci helyzettől függően. +#Milyen sorrendben vásároljuk meg az autókat, hogy a kollekciónk teljes legyen és a lehető legkisebb legyen a költségünk? + +# Hetfo Kedd Szerda Csutortok Pentek +#Wartburg 60000 65000 61000 66000 60000 +#Lada 50000 55000 63000 60000 52000 +#Kispolski 30000 32000 33000 30000 27000 +#Trabant 70000 65000 77000 85000 100000 +#Skoda 65000 70000 75000 90000 70000 + + +#Megoldás: +set Cars; +set Days; +param price {Cars, Days}; + +var buy{Cars, Days} binary; + +s.t. ExactlyOneCarEachDay{d in Days}: sum{c in Cars} buy[c,d] =1; + +s.t. EachCarExactlyOnce {c in Cars}: sum {d in Days} buy[c,d] =1; + +minimize TotalCost: sum {c in Cars, d in Days} buy[c,d]*price[c,d]; + +solve; +printf "\n\n"; +for {c in Cars, d in Days: buy[c,d]==1} +printf "%10s:\t%s%d\n", c,d, price[c,d]; +printf "\n\n"; + +data; +set Days:= Hetfo Kedd Szerda Csutortok Pentek; +set Cars:= Wartburg Lada Kispolski Trabant Skoda; + +param price: + Hetfo Kedd Szerda Csutortok Pentek:= +Wartburg 60000 65000 61000 66000 60000 +Lada 50000 55000 63000 60000 52000 +Kispolski 30000 32000 33000 30000 27000 +Trabant 70000 65000 77000 85000 100000 +Skoda 65000 70000 75000 90000 70000 +; +end; \ No newline at end of file diff --git a/sziva_anyagai/Feladatlap_01.10.2024..pdf b/sziva_anyagai/Feladatlap_01.10.2024..pdf new file mode 100644 index 0000000..4d5347c Binary files /dev/null and b/sziva_anyagai/Feladatlap_01.10.2024..pdf differ diff --git a/sziva_anyagai/Feladatok_v1.docx b/sziva_anyagai/Feladatok_v1.docx new file mode 100644 index 0000000..1b17222 Binary files /dev/null and b/sziva_anyagai/Feladatok_v1.docx differ diff --git a/sziva_anyagai/Festivals.mod b/sziva_anyagai/Festivals.mod new file mode 100644 index 0000000..83065a5 --- /dev/null +++ b/sziva_anyagai/Festivals.mod @@ -0,0 +1,15 @@ +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. Eluveite : F3 + F5 >=1; + +minimize NumberOfFestivals: F1+F2+F3+F4+F5; \ No newline at end of file diff --git a/sziva_anyagai/Froccs.mod b/sziva_anyagai/Froccs.mod new file mode 100644 index 0000000..54a1989 --- /dev/null +++ b/sziva_anyagai/Froccs.mod @@ -0,0 +1,32 @@ +#Fröccs feladat: +# BOR SZÓDA ÁR +#Kisfröccs 1 1 200 +#Nagyfröccs 2 1 330 +#Hosszú lépés 1 2 210 +#Házmester 3 2 470 +#Viceházmester 2 3 400 +#Krúdy fröccs 9 1 1500 +#Sóher fröccs 1 9 300 +#Puskás fröccs 6 3 900 +#Házi úr 4 1 600 +#Lakófröccs 1 4 250 + +#Van 100 l borom, és 150 l szódám. +#Feladat a bevételem maximalizálása. + +#Megoldás: +var xKF >=0, integer; +var xNF >=0, integer; +var xHL >=0, integer; +var xHM >=0, integer; +var xVHM >=0, integer; +var xKR >=0, integer; +var xSF >=0, integer; +var xPF >=0, integer; +var xHU >=0, integer; +var xLF >=0, integer; + +s.t. wine : 1*xKF + 2*xNF + 1*xHL + 3*xHM + 2*xVHM + 9*xKR + 1*xSF + 6*xPF + 4*xHU + 1*xLF <=1000; +s.t. soda : 1*xKF + 1*xNF + 2*xHL + 2*xHM + 3*xVHM + 1*xKR + 9*xSF + 3*xPF + 1*xHU + 4*xLF <=1500; + +maximize TotalIncome: 200*xKF + 330*xNF + 210*xHL + 470*xHM + 400*xVHM + 1500*xKR + 300*xSF + 900*xPF + 600*xHU + 250*xLF; \ No newline at end of file diff --git a/sziva_anyagai/Froccsok_halmazok.mod b/sziva_anyagai/Froccsok_halmazok.mod new file mode 100644 index 0000000..2fbe68b --- /dev/null +++ b/sziva_anyagai/Froccsok_halmazok.mod @@ -0,0 +1,68 @@ +#Fröccs feladat: +# BOR SZÓDA ÁR +#Kisfröccs 1 1 200 +#Nagyfröccs 2 1 330 +#Hosszú lépés 1 2 210 +#Házmester 3 2 470 +#Viceházmester 2 3 400 +#Krúdy fröccs 9 1 1500 +#Sóher fröccs 1 9 300 +#Puskás fröccs 6 3 900 +#Házi úr 4 1 600 +#Lakófröccs 1 4 250 + +#Van 100 l borom, és 150 l szódám. +#Feladat a bevételem maximalizálása. + +#Megoldás: + + #Sets and parameters + set Froccs; + set Ingridients; + param HowMany {Froccs, Ingridients}; + param Price {Froccs}; + param Use {Ingridients}; + #variables +var Sale {Froccs} >=0, integer; + +#Constraints - Korlátozások +s.t. UseIngridients{i in Ingridients} : sum{f in Froccs} HowMany[f,i] *Sale[f] <= Use[i]; + +#Objectives -célfüggvény +maximize TotalIncome: sum {f in Froccs} Sale[f] * Price[f]; + +# DATA kulcsszó +data; +#értékek és paraméterek +set Froccs: KF NF HL HM VHM KRF SF PF HU LF; +set Ingridients: Wine Soda; + +param HowMany: + Wine Soda:= +KF 1 1 +NF 2 1 +HL 1 2 +HM 3 2 +VHM 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 +VHM 400 +KRF 1500 +SF 300 +PF 900 +HU 600 +LF 250 +; +param Use:= +Wine 1000 +Soda 1500 +; diff --git a/sziva_anyagai/GUSEK_kezikonyv.pdf b/sziva_anyagai/GUSEK_kezikonyv.pdf new file mode 100644 index 0000000..90a89ad Binary files /dev/null and b/sziva_anyagai/GUSEK_kezikonyv.pdf differ diff --git a/sziva_anyagai/Hatizsakos.mod b/sziva_anyagai/Hatizsakos.mod new file mode 100644 index 0000000..b90b2ec --- /dev/null +++ b/sziva_anyagai/Hatizsakos.mod @@ -0,0 +1,20 @@ +#Egy hátizsákgyártó cég 2 féle hátizsák modellt gyártanak. (Túra, Mini) +#Mindkét hátizsák ugyanabból a poliészter anyagból készül. A cég hosszútávú szerződéssel rendelkezik a beszállítóval, és hetente 5400 m2 anyagot dolgozhatnak fel. +# Egy Túra modellhez szükségünk van 3 m2 anyagra, egy Mini modellhez pedig 2 m2 anyag szükséges. +#Piackutatást végeztek - ennek eredményei: +#Túra modell legfeljebb 1000, Mini modell pedig legfeljebb 1200 darab értékesítése hetente. +# Munkaidő - Túra modell esetén 45 perc egy darab elkészítése, Mini esetén pedig 40 perc. +#Haszon - Túra modell - 32 $/db , Mini esetén pedig 24 $/db. +#35 dolgozó - fejenként heti 40 munkaóra. +# Tanácsot kellene adjunk a cégnek, hogy melyik hátizsák típusból mennyit érdemes hetente elkészítenie. + +#Megoldás: +var tura >=0, integer; +var mini>=0, integer; + +s.t. anyag: 3*tura +2* mini <=5400; +s.t. munkaido: 45*tura + 40*mini <= 35*(40*60); +s.t. turamodell: tura <=1000; +s.t. minimodell: mini <=1200; + +maximize haszon: 32*tura + 24* mini; diff --git a/sziva_anyagai/Mikulascsomag.mod b/sziva_anyagai/Mikulascsomag.mod new file mode 100644 index 0000000..a9b6981 --- /dev/null +++ b/sziva_anyagai/Mikulascsomag.mod @@ -0,0 +1,26 @@ +#Mikulás csomagok összeállítása: +#A Mikulás csomag tartalma a következő legyen - csoki, narancs, mogyoró, virgács, kindertojás és gumicukor +#Összetevő csomagok amiből választhatok - +#Az 1. csomag ára 5 pénzegység - narancsot és mogyorót tartalmaz. +#A 2. csomag ára 10 pénzegység - gumicukor, mogyoró, csoki +#A 3. csomag ára 3 pénzegység - gumicukor, kinder, virgács +#A 4. csomag ára 4 pénzegység - narancs, kinder, csoki +#A 5. csomag ára 6 pénzegység - csoki, virgács +#Milyen csomagokat vegyünk az általunk összeállított Mikulás csomaghoz, úgy hogy minél kevesebb költségünkbe kerüljön? + +#Megoldás: +var csomag1 binary; +var csomag2 binary; +var csomag3 binary; +var csomag4 binary; +var csomag5 binary; + +s.t. csoki: csomag2 + csomag4 + csomag5 >=1; +s.t. narancs: csomag1 + csomag4 >=1; +s.t. mogyoro: csomag1 + csomag2 >=1; +s.t. virgacs: csomag3 + csomag5 >=1; +s.t. kindertojas: csomag3 + csomag4 >=1; +s.t. gumicukor: csomag2 + csomag3 >=1; + +minimize koltseg: 5*csomag1 + 10*csomag2 + 3*csomag3 + 4*csomag4 + 6*csomag5; +end; \ No newline at end of file diff --git a/sziva_anyagai/Mikulascsomag_buntetessel.mod b/sziva_anyagai/Mikulascsomag_buntetessel.mod new file mode 100644 index 0000000..e52a812 --- /dev/null +++ b/sziva_anyagai/Mikulascsomag_buntetessel.mod @@ -0,0 +1,28 @@ +#Az előző feladat kiegészítése- +#Ha valamiből felesleg marad, azért büntetés jár. +#A csokiért 2 pénzegység a büntetés. A narancs 3, a mogyoró 1, virgács 4, kindertojás 5 és a gumicukor 6 pénzegység büntetést von maga után. Milyen csomagokat vegyünk a Mikulás csomagunk összeállításához, ha minimálisan szeretnénk költekezni és minimális büntetést szeretnénk kapni a végén. + +#Megoldás: + +var csomag1 binary; +var csomag2 binary; +var csomag3 binary; +var csomag4 binary; +var csomag5 binary; + +var maradekcsoki >=0, integer; +var maradeknarancs >= 0, integer; +var maradekmogyoro >=0, integer; +var maradekvirgacs >=0, integer; +var maradekkindertojas >=0, integer; +var maradekgumicukor >=0, integer; + +s.t. csoki: csomag2 + csomag4 + csomag5 - maradekcsoki =1; +s.t. narancs: csomag1 + csomag4 - maradeknarancs =1; +s.t. mogyoro: csomag1 + csomag2 - maradekmogyoro =1; +s.t. virgacs: csomag3 + csomag5 - maradekvirgacs =1; +s.t. kindertojas: csomag3 + csomag4 - maradekkindertojas =1; +s.t. gumicukor: csomag2 + csomag3 - maradekgumicukor =1; + +minimize koltseg: 5*csomag1 + 10*csomag2 + 3*csomag3 + 4*csomag4 + 6*csomag5 + (2*maradekcsoki + 3*maradeknarancs + 1*maradekmogyoro + 4*maradekvirgacs + 5*maradekkindertojas + 6*maradekgumicukor ) ; +end; \ No newline at end of file diff --git a/sziva_anyagai/Minta_vizsga_alap_feladat.mod b/sziva_anyagai/Minta_vizsga_alap_feladat.mod new file mode 100644 index 0000000..295f7ac --- /dev/null +++ b/sziva_anyagai/Minta_vizsga_alap_feladat.mod @@ -0,0 +1,23 @@ +var Kolozsvar_Budapest >=0, integer; +var Kolozsvar_Gyor >=0, integer; +var Kolozsvar_Szeged >=0, integer; + +var Marosvasarhely_Budapest >=0, integer; +var Marosvasarhely_Gyor >=0, integer; +var Marosvasarhely_Szeged >=0, integer; + +var Temesvar_Budapest >=0, integer; +var Temesvar_Gyor >=0, integer; +var Temesvar_Szeged >=0, integer; + +s.t. Kolozsvar: Kolozsvar_Budapest + Kolozsvar_Gyor + Kolozsvar_Szeged =1000; +s.t. Marosvasarhely: Marosvasarhely_Budapest + Marosvasarhely_Gyor + Marosvasarhely_Szeged =850; +s.t. Temesvar: Temesvar_Budapest + Temesvar_Gyor + Temesvar_Szeged =1350; + +s.t. Budapest: Kolozsvar_Budapest + Marosvasarhely_Budapest + Temesvar_Budapest =1100; +s.t. Gyor: Kolozsvar_Gyor + Marosvasarhely_Gyor + Temesvar_Gyor =800; +s.t. Szeged: Kolozsvar_Szeged + Marosvasarhely_Szeged + Temesvar_Szeged =1300; + +s.t. Kolozsvar_Gyor_utvonal: Kolozsvar_Gyor <=100; + +minimize szallitas: 10*Kolozsvar_Budapest + 12*Kolozsvar_Gyor + 5*Kolozsvar_Szeged + 16*Marosvasarhely_Budapest + 10*Marosvasarhely_Gyor + 9*Marosvasarhely_Szeged + 14*Temesvar_Budapest + 18*Temesvar_Gyor + 20*Temesvar_Szeged; \ No newline at end of file diff --git a/sziva_anyagai/Minta_vizsga_alap_feladat_halmazokkal.mod b/sziva_anyagai/Minta_vizsga_alap_feladat_halmazokkal.mod new file mode 100644 index 0000000..47e2073 --- /dev/null +++ b/sziva_anyagai/Minta_vizsga_alap_feladat_halmazokkal.mod @@ -0,0 +1,40 @@ +set Gyarak; +set Boltok; +param Gyartasi_kapacitas{Gyarak}; +param Igeny{Boltok}; +param Koltsegek{Gyarak, Boltok}; + +var szallitas{Gyarak, Boltok}>=0, integer; + +#Végig gyalogolunk a halmazokon +s.t. Gyarak_megszoritas {g in Gyarak}: sum {b in Boltok} szallitas[g,b] = Gyartasi_kapacitas[g]; + +s.t. Boltok_megszoritas {b in Boltok}: sum {g in Gyarak} szallitas[g,b] = Igeny[b]; + +#Amikor a halmaz bizonyos elemeire kell csak megszorítást írni, használjuk a következőt - "AZ ELEM NEVE" +s.t. Kolozsvar_Gyor_utvonal: szallitas["Kolozsvar","Gyor"] <=100; + +minimize szallitasikoltseg: sum{g in Gyarak, b in Boltok} szallitas[g,b]*Koltsegek[g,b]; + +data; +set Gyarak:= Kolozsvar Marosvasarhely Temesvar; +set Boltok:= Budapest Gyor Szeged; + +param Gyartasi_kapacitas:= +Kolozsvar 1000 +Marosvasarhely 850 +Temesvar 1350 +; + +param Igeny:= +Budapest 1100 +Gyor 800 +Szeged 1300 +; + +param Koltsegek: + Budapest Gyor Szeged:= +Kolozsvar 10 12 5 +Marosvasarhely 16 10 9 +Temesvar 14 18 20 +; \ No newline at end of file diff --git a/sziva_anyagai/Modellezes Ă©s optimalizalas a gyakorlatban feladatok vegyesen.pdf b/sziva_anyagai/Modellezes Ă©s optimalizalas a gyakorlatban feladatok vegyesen.pdf new file mode 100644 index 0000000..b796718 Binary files /dev/null and b/sziva_anyagai/Modellezes Ă©s optimalizalas a gyakorlatban feladatok vegyesen.pdf differ diff --git a/sziva_anyagai/Modellezes_es_optimalizalas_a_gyakorlatban_feladatok_v2.pdf b/sziva_anyagai/Modellezes_es_optimalizalas_a_gyakorlatban_feladatok_v2.pdf new file mode 100644 index 0000000..35e3155 Binary files /dev/null and b/sziva_anyagai/Modellezes_es_optimalizalas_a_gyakorlatban_feladatok_v2.pdf differ diff --git a/sziva_anyagai/ModellezĂ©s Ă©s optimalizálás a gyakorlatban -segĂ­tsĂ©g.pdf b/sziva_anyagai/ModellezĂ©s Ă©s optimalizálás a gyakorlatban -segĂ­tsĂ©g.pdf new file mode 100644 index 0000000..92805c1 Binary files /dev/null and b/sziva_anyagai/ModellezĂ©s Ă©s optimalizálás a gyakorlatban -segĂ­tsĂ©g.pdf differ diff --git a/sziva_anyagai/Mogya_MINTA_VIZSGA.pdf.crdownload b/sziva_anyagai/Mogya_MINTA_VIZSGA.pdf.crdownload new file mode 100644 index 0000000..cb150a2 Binary files /dev/null and b/sziva_anyagai/Mogya_MINTA_VIZSGA.pdf.crdownload differ diff --git a/sziva_anyagai/Szendvicsek.mod b/sziva_anyagai/Szendvicsek.mod new file mode 100644 index 0000000..9e42a4b --- /dev/null +++ b/sziva_anyagai/Szendvicsek.mod @@ -0,0 +1,19 @@ +#Kétféle szendvicset készítünk. +#Szalámis szendvics - 3gramm vaj, 3 karika tojás, 2 szelet szalámi +#Sonkás szendvics - 4 gramm vaj, 2 karika tojás, 1 szelet sonka +#Összesen van 100 szelet szalámi, 40 szelet sonka, 170 karika tojás, és 220 gramm vaj. 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; +var szalamis >=0; + +s.t. szalami: 2*szalamis <=100; +s.t. sonka: 1* sonkas <=40; +s.t. tojas: 3*szalamis + 2*sonkas <=170; +s.t. vaj: 3*szalamis + 4* sonkas <=220; + +maximize szendvicsekszama: sonkas + szalamis; +end; \ No newline at end of file diff --git a/sziva_anyagai/Szerelde.mod b/sziva_anyagai/Szerelde.mod new file mode 100644 index 0000000..d0ea92e --- /dev/null +++ b/sziva_anyagai/Szerelde.mod @@ -0,0 +1,22 @@ +#Egy üzemben 2 terméket gyártanak, 2 gépen folyik a gyártás. +#T1 megmunkálása 1. gépen 3 óra, második gépen pedig 4 óra. +#T2 megmunkálása 4 és 6 óra. +#Gép1 kapacitása - 130 óra +#Gép2 kapacitása - 200 óra +#Szerelése a terméknek - T1 1óra, T2 - 2óra. +#Szerelde kapacitása - 60 óra +#Eladási egységár - T1 - 8 +# T2 - 10 +#Milyen termékösszetételben érdemes gyártani, ha maximális árbevételre törekszünk, úgy hogy a gépek kapacitását nem lépjük túl, a szerelde pedig teljes kapacitással (=) dolgozik. + +#Megoldás: + +var T1 >=0; +var T2 >=0; + +s.t. szerelesiido: 1*T1 + 2*T2 = 60; +s.t. gep1: 3*T1 + 4*T2 <= 130; +s.t. gep2: 4*T1 + 6*T2 <=200; + +maximize arbevetel: 8*T1 + 10*T2; +end; \ No newline at end of file diff --git a/sziva_anyagai/Szimplex feladat.xlsx b/sziva_anyagai/Szimplex feladat.xlsx new file mode 100644 index 0000000..347ce88 Binary files /dev/null and b/sziva_anyagai/Szimplex feladat.xlsx differ diff --git a/sziva_anyagai/alma_citrom.mod b/sziva_anyagai/alma_citrom.mod new file mode 100644 index 0000000..6927a4c --- /dev/null +++ b/sziva_anyagai/alma_citrom.mod @@ -0,0 +1,18 @@ +# Egy fogyókúrázó a napi C-vitamin szükségletét, illetve a vas szükségletét kétféle gyümölcs, a citrom és alma fogyasztásával szeretné fedezni. Tegyük fel, hogy a napi C-vitamin szükséglet 500 egység. 100g citromban található 300 egység, 100 g almában pedig 100 egységnyi C-vitamin. Vasból a napi szükséglet 1.2mg , és 100g citromban 0,2mg, 100g almában pedig 0,5mg vas található. +# A fogyókúrázó napi 400 kalóriát szeretne bevinni szervezetébe a gyümölcsök fogyasztásával. 100g citrom 50, 100g alma pedig 80 kalória. +# A piacon 1kg citrom 600Ft, 1kg alma 400 Ft-ba kerül. +#Kevesebb, mint 1kg-t is vásárolhatok. +#Mennyit vegyen az egyes gyümölcsökből, ha azt szeretné, hogy a lehető legkevesebbet költsön, és ne is lépje túl az előírt kalóriamennyiséget se, de a napi C-vitamin, és vas szükséglete fedezve legyen a megvásárolt gyümölcsökből? + +#Megoldás: + +var alma >=0; +var citrom >=0; + +s.t. Cvitamin: 300*citrom + 100*alma >=500; +s.t. Vas: 0.2*citrom + 0.5*alma >=1.2; +s.t. Kaloria: 50*citrom + 80*alma <=400; + +minimize koltseg: 60*citrom + 40*alma; +end; + diff --git a/sziva_anyagai/befozes2.mod b/sziva_anyagai/befozes2.mod new file mode 100644 index 0000000..f2ba309 --- /dev/null +++ b/sziva_anyagai/befozes2.mod @@ -0,0 +1,13 @@ +#Eladásra készítenek lekvárt ás befőttet. +#Rendelkezésünkre áll 120kg gyümölcs és 80kg cukor. Egy üveg lekvár elkészítéséhez szükségün van 80dkg gyümölcsre és 40dkg cukorra. Egy üveg befőtt esetén pedig 40dkg gyümölcs és 40 dkg cukor. Egy üveg lekváron van 100Ft hasznunk, és befőtt esetén pedig 80Ft. Hány üveg lekvárt és befőttet készítsünk, ha szeretnénk maximális nyereséget elérni, mekkora lesz a maximális nyereség? + +#Megoldás: + +var lekvar >=0, integer; +var befott >=0, integer; + +s.t. gyumolcs: 80*lekvar +40*befott <=12000; +s.t. cukor: 40*lekvar + 40* befott <=8000; + +maximize bevetel: 100*lekvar + 80*befott; +end; diff --git a/sziva_anyagai/mogya_vizsga_tab.mod b/sziva_anyagai/mogya_vizsga_tab.mod new file mode 100644 index 0000000..dcc2f8e --- /dev/null +++ b/sziva_anyagai/mogya_vizsga_tab.mod @@ -0,0 +1,14 @@ +#Egy távoli jövőben az optimalizálás vizsgára különböző ízesítésű tudástabletták bevételével is fel lehet készülni. Egy spenótos tabletta elfogyasztása 10%-kal, egy eperízű tabletta elfogyasztása 7%-kal növeli meg a hallgató tudását. +#Tehát 4 spenótos és 5 epres tabletta elfogyasztása után elvileg 75% tudásnak lennénk a birtokában. +#Egy spenótos tabletta 2000, az eperízű pedig 1500 Ft-ba kerül. Annak érdekében hogy elkerüljük a túladagolást, legfeljebb csak 8 tabletta vehető be. Fontos még ügyelnünk arra, hogy legalább annyi epres, mint spenótos tabletta legyen fogyasztva. +#Milyen összetételben vásároljunk a tablettákból, ha a lehető legkevesebbet szeretnénk költeni, és tudjuk, hogy 60% a sikeres vizsga teljesítésének feltétele. + +#Megoldás: +var epres >=0; +var spenotos >=0; + +s.t. siker: 10*spenotos + 7* epres >=69; +s.t. osszetetel: spenotos <= epres; +s.t. adag: epres + spenotos <=8; + +minimize koltseg: 1500*epres + 2000*spenotos; \ No newline at end of file diff --git a/sziva_anyagai/szoknya_ing.mod b/sziva_anyagai/szoknya_ing.mod new file mode 100644 index 0000000..a60d70d --- /dev/null +++ b/sziva_anyagai/szoknya_ing.mod @@ -0,0 +1,14 @@ +#Egy kis szabóságban ingeket és szoknyákat készítenek. Egy ingen 4$ , a szoknyán pedig 3$ nyeresége van a szabóságnak. Egy ing elkészítéséhez 3m anyag és 5 óra szükséges. Egy szoknya esetén ez 4m és 2 óra. A cég vezetője elvárja a varrónőktől, hogy napi 10 órás munkaidőben dolgozzanak, és ezalatt legalább 4 ruhadarabot készítsenek el, és legfeljebb 12m anyagot használjanak. +#Hány ing és hány szoknya megvarrásával érhető el egy varrónő esetén a maximális profit? + +#Megoldás: + +var ing >=0, integer; +var szoknya >=0, integer; + +s.t. anyag: 3*ing +4*szoknya <=12; +s.t. munkaido: 5*ing + 2*szoknya =10; +s.t. darab: ing + szoknya >=4; + +maximize profit: 4*ing + 3*szoknya; +end; \ No newline at end of file