diff --git a/sajat_gyakorlasok/alma_citrom.mod b/sajat_gyakorlasok/alma_citrom.mod new file mode 100644 index 0000000..313bb78 --- /dev/null +++ b/sajat_gyakorlasok/alma_citrom.mod @@ -0,0 +1,16 @@ +# 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? + +var citrom >= 0 integer; +var alma >= 0 integer; + +s.t. bevittkaloria: alma * 50 + citrom * 80 <= 400; +s.t. vitaminszukseglet: 300 * citrom + 100 * alma >= 500; +s.t. vasszukseglet: 0.2 * citrom + 0.5 * alma >= 1.2; + +minimize koltseg: alma * 600 + citrom * 400; + +end; \ No newline at end of file diff --git a/sajat_gyakorlasok/alma_citrom.out b/sajat_gyakorlasok/alma_citrom.out new file mode 100644 index 0000000..c1dc1bd --- /dev/null +++ b/sajat_gyakorlasok/alma_citrom.out @@ -0,0 +1,38 @@ +Problem: alma_citrom +Rows: 4 +Columns: 2 +Non-zeros: 8 +Status: OPTIMAL +Objective: koltseg = 140 (MINimum) + + No. Row name St Activity Lower bound Upper bound Marginal +------ ------------ -- ------------- ------------- ------------- ------------- + 1 Cvitamin NL 500 500 0.169231 + 2 Vas NL 1.2 1.2 46.1538 + 3 Kaloria B 210 400 + 4 koltseg B 140 + + No. Column name St Activity Lower bound Upper bound Marginal +------ ------------ -- ------------- ------------- ------------- ------------- + 1 alma B 2 0 + 2 citrom B 1 0 + +Karush-Kuhn-Tucker optimality conditions: + +KKT.PE: max.abs.err = 5.68e-14 on row 1 + max.rel.err = 5.68e-17 on row 1 + 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 = 1.42e-14 on column 2 + max.rel.err = 1.17e-16 on column 2 + 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/sajat_gyakorlasok/befozes2.mod b/sajat_gyakorlasok/befozes2.mod new file mode 100644 index 0000000..874cb43 --- /dev/null +++ b/sajat_gyakorlasok/befozes2.mod @@ -0,0 +1,11 @@ +#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? + +var lekvar >= 0 integer; +var befott >= 0 integer; + +s.t. cukor: lekvar * 40 + befott * 40 <= 80 * 100; +s.t. gyumolcs: lekvar * 80 + befott * 40 <= 120 * 100; + +maximize bevetel: lekvar * 100 + befott * 80; +end; \ No newline at end of file diff --git a/sajat_gyakorlasok/befozes2.out b/sajat_gyakorlasok/befozes2.out new file mode 100644 index 0000000..1837f37 --- /dev/null +++ b/sajat_gyakorlasok/befozes2.out @@ -0,0 +1,29 @@ +Problem: befozes2 +Rows: 3 +Columns: 2 (2 integer, 0 binary) +Non-zeros: 6 +Status: INTEGER OPTIMAL +Objective: bevetel = 18000 (MAXimum) + + No. Row name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 gyumolcs 12000 12000 + 2 cukor 8000 8000 + 3 bevetel 18000 + + 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/sajat_gyakorlasok/hatizsakok.mod b/sajat_gyakorlasok/hatizsakok.mod new file mode 100644 index 0000000..303bc05 --- /dev/null +++ b/sajat_gyakorlasok/hatizsakok.mod @@ -0,0 +1,21 @@ +#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. + +var tura >= 0 integer; +var mini >= 0 integer; + +s.t. alapanyag: tura * 3 + mini * 2 <= 5400; +s.t. turamin: tura <= 1000; +s.t. picimin: mini <= 1200; +s.t. munkaido: tura * 45 + mini * 40 <= 35*40*60; + +maximize profit: 32 * tura + 24 * mini; + +end; \ No newline at end of file diff --git a/sajat_gyakorlasok/hatizsakok.out b/sajat_gyakorlasok/hatizsakok.out new file mode 100644 index 0000000..2d1aeca --- /dev/null +++ b/sajat_gyakorlasok/hatizsakok.out @@ -0,0 +1,31 @@ +Problem: hatizsakok +Rows: 5 +Columns: 2 (2 integer, 0 binary) +Non-zeros: 8 +Status: INTEGER OPTIMAL +Objective: haszon = 55400 (MAXimum) + + No. Row name Activity Lower bound Upper bound +------ ------------ ------------- ------------- ------------- + 1 anyag 4950 5400 + 2 munkaido 84000 84000 + 3 turamodell 1000 1000 + 4 minimodell 975 1200 + 5 haszon 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/mikulascsomag.mod b/sajat_gyakorlasok/mikulascsomag.mod new file mode 100644 index 0000000..3bbfa4d --- /dev/null +++ b/sajat_gyakorlasok/mikulascsomag.mod @@ -0,0 +1,10 @@ +#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? +