This commit is contained in:
2024-10-29 19:26:02 +01:00
parent 00c3398473
commit a7bb4b40f8
30 changed files with 552 additions and 0 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -0,0 +1,57 @@
#Szenved<EFBFBD>ly<EFBFBD>nk az aut<EFBFBD>k gy<EFBFBD>jt<EFBFBD>se.
#Jelenleg lehet<EFBFBD>s<EFBFBD>g<EFBFBD>nk van aut<EFBFBD>kat v<EFBFBD>s<EFBFBD>rolni, <EFBFBD>s 5 egym<EFBFBD>st k<EFBFBD>vet<EFBFBD> napon tervezz<EFBFBD>k is megtenni ezt. Minden nap pontosan egy aut<EFBFBD>t tervez<EFBFBD>nk venni, azonban az aut<EFBFBD>knak minden egyes nap v<EFBFBD>ltozik az <EFBFBD>ruk a vil<EFBFBD>gpiaci helyzett<EFBFBD>l f<EFBFBD>gg<EFBFBD>en.
#Milyen sorrendben v<EFBFBD>s<EFBFBD>roljuk meg az aut<EFBFBD>kat, hogy a kollekci<EFBFBD>nk teljes legyen <EFBFBD>s a lehet<EFBFBD> legkisebb legyen a k<EFBFBD>lts<EFBFBD>g<EFBFBD>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<EFBFBD>s:
#V<EFBFBD>ltoz<EFBFBD>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;

View File

@ -0,0 +1,44 @@
#Szenved<EFBFBD>ly<EFBFBD>nk az aut<EFBFBD>k gy<EFBFBD>jt<EFBFBD>se.
#Jelenleg lehet<EFBFBD>s<EFBFBD>g<EFBFBD>nk van aut<EFBFBD>kat v<EFBFBD>s<EFBFBD>rolni, <EFBFBD>s 5 egym<EFBFBD>st k<EFBFBD>vet<EFBFBD> napon tervezz<EFBFBD>k is megtenni ezt. Minden nap pontosan egy aut<EFBFBD>t tervez<EFBFBD>nk venni, azonban az aut<EFBFBD>knak minden egyes nap v<EFBFBD>ltozik az <EFBFBD>ruk a vil<EFBFBD>gpiaci helyzett<EFBFBD>l f<EFBFBD>gg<EFBFBD>en.
#Milyen sorrendben v<EFBFBD>s<EFBFBD>roljuk meg az aut<EFBFBD>kat, hogy a kollekci<EFBFBD>nk teljes legyen <EFBFBD>s a lehet<EFBFBD> legkisebb legyen a k<EFBFBD>lts<EFBFBD>g<EFBFBD>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<EFBFBD>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;

Binary file not shown.

Binary file not shown.

View File

@ -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;

32
sziva_anyagai/Froccs.mod Normal file
View File

@ -0,0 +1,32 @@
#Fr<EFBFBD>ccs feladat:
# BOR SZ<EFBFBD>DA <EFBFBD>R
#Kisfr<EFBFBD>ccs 1 1 200
#Nagyfr<EFBFBD>ccs 2 1 330
#Hossz<EFBFBD> l<EFBFBD>p<EFBFBD>s 1 2 210
#H<EFBFBD>zmester 3 2 470
#Viceh<EFBFBD>zmester 2 3 400
#Kr<EFBFBD>dy fr<EFBFBD>ccs 9 1 1500
#S<EFBFBD>her fr<EFBFBD>ccs 1 9 300
#Pusk<EFBFBD>s fr<EFBFBD>ccs 6 3 900
#H<EFBFBD>zi <EFBFBD>r 4 1 600
#Lak<EFBFBD>fr<EFBFBD>ccs 1 4 250
#Van 100 l borom, <EFBFBD>s 150 l sz<EFBFBD>d<EFBFBD>m.
#Feladat a bev<EFBFBD>telem maximaliz<EFBFBD>l<EFBFBD>sa.
#Megold<EFBFBD>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;

View File

@ -0,0 +1,68 @@
#Fr<EFBFBD>ccs feladat:
# BOR SZ<EFBFBD>DA <EFBFBD>R
#Kisfr<EFBFBD>ccs 1 1 200
#Nagyfr<EFBFBD>ccs 2 1 330
#Hossz<EFBFBD> l<EFBFBD>p<EFBFBD>s 1 2 210
#H<EFBFBD>zmester 3 2 470
#Viceh<EFBFBD>zmester 2 3 400
#Kr<EFBFBD>dy fr<EFBFBD>ccs 9 1 1500
#S<EFBFBD>her fr<EFBFBD>ccs 1 9 300
#Pusk<EFBFBD>s fr<EFBFBD>ccs 6 3 900
#H<EFBFBD>zi <EFBFBD>r 4 1 600
#Lak<EFBFBD>fr<EFBFBD>ccs 1 4 250
#Van 100 l borom, <EFBFBD>s 150 l sz<EFBFBD>d<EFBFBD>m.
#Feladat a bev<EFBFBD>telem maximaliz<EFBFBD>l<EFBFBD>sa.
#Megold<EFBFBD>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<EFBFBD>toz<EFBFBD>sok
s.t. UseIngridients{i in Ingridients} : sum{f in Froccs} HowMany[f,i] *Sale[f] <= Use[i];
#Objectives -c<EFBFBD>lf<EFBFBD>ggv<EFBFBD>ny
maximize TotalIncome: sum {f in Froccs} Sale[f] * Price[f];
# DATA kulcssz<EFBFBD>
data;
#<EFBFBD>rt<EFBFBD>kek <EFBFBD>s param<EFBFBD>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
;

Binary file not shown.

View File

@ -0,0 +1,20 @@
#Egy h<EFBFBD>tizs<EFBFBD>kgy<EFBFBD>rt<EFBFBD> c<EFBFBD>g 2 f<EFBFBD>le h<EFBFBD>tizs<EFBFBD>k modellt gy<EFBFBD>rtanak. (T<EFBFBD>ra, Mini)
#Mindk<EFBFBD>t h<EFBFBD>tizs<EFBFBD>k ugyanabb<EFBFBD>l a poli<EFBFBD>szter anyagb<EFBFBD>l k<EFBFBD>sz<EFBFBD>l. A c<EFBFBD>g hossz<EFBFBD>t<EFBFBD>v<EFBFBD> szerz<EFBFBD>d<EFBFBD>ssel rendelkezik a besz<EFBFBD>ll<EFBFBD>t<EFBFBD>val, <EFBFBD>s hetente 5400 m2 anyagot dolgozhatnak fel.
# Egy T<EFBFBD>ra modellhez sz<EFBFBD>ks<EFBFBD>g<EFBFBD>nk van 3 m2 anyagra, egy Mini modellhez pedig 2 m2 anyag sz<EFBFBD>ks<EFBFBD>ges.
#Piackutat<EFBFBD>st v<EFBFBD>geztek - ennek eredm<EFBFBD>nyei:
#T<EFBFBD>ra modell legfeljebb 1000, Mini modell pedig legfeljebb 1200 darab <EFBFBD>rt<EFBFBD>kes<EFBFBD>t<EFBFBD>se hetente.
# Munkaid<EFBFBD> - T<EFBFBD>ra modell eset<EFBFBD>n 45 perc egy darab elk<EFBFBD>sz<EFBFBD>t<EFBFBD>se, Mini eset<EFBFBD>n pedig 40 perc.
#Haszon - T<EFBFBD>ra modell - 32 $/db , Mini eset<EFBFBD>n pedig 24 $/db.
#35 dolgoz<EFBFBD> - fejenk<EFBFBD>nt heti 40 munka<EFBFBD>ra.
# Tan<EFBFBD>csot kellene adjunk a c<EFBFBD>gnek, hogy melyik h<EFBFBD>tizs<EFBFBD>k t<EFBFBD>pusb<EFBFBD>l mennyit <EFBFBD>rdemes hetente elk<EFBFBD>sz<EFBFBD>tenie.
#Megold<EFBFBD>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;

View File

@ -0,0 +1,26 @@
#Mikul<EFBFBD>s csomagok <EFBFBD>ssze<EFBFBD>ll<EFBFBD>t<EFBFBD>sa:
#A Mikul<EFBFBD>s csomag tartalma a k<EFBFBD>vetkez<EFBFBD> legyen - csoki, narancs, mogyor<EFBFBD>, virg<EFBFBD>cs, kindertoj<EFBFBD>s <EFBFBD>s gumicukor
#<EFBFBD>sszetev<EFBFBD> csomagok amib<EFBFBD>l v<EFBFBD>laszthatok -
#Az 1. csomag <EFBFBD>ra 5 p<EFBFBD>nzegys<EFBFBD>g - narancsot <EFBFBD>s mogyor<EFBFBD>t tartalmaz.
#A 2. csomag <EFBFBD>ra 10 p<EFBFBD>nzegys<EFBFBD>g - gumicukor, mogyor<EFBFBD>, csoki
#A 3. csomag <EFBFBD>ra 3 p<EFBFBD>nzegys<EFBFBD>g - gumicukor, kinder, virg<EFBFBD>cs
#A 4. csomag <EFBFBD>ra 4 p<EFBFBD>nzegys<EFBFBD>g - narancs, kinder, csoki
#A 5. csomag <EFBFBD>ra 6 p<EFBFBD>nzegys<EFBFBD>g - csoki, virg<EFBFBD>cs
#Milyen csomagokat vegy<EFBFBD>nk az <EFBFBD>ltalunk <EFBFBD>ssze<EFBFBD>ll<EFBFBD>tott Mikul<EFBFBD>s csomaghoz, <EFBFBD>gy hogy min<EFBFBD>l kevesebb k<EFBFBD>lts<EFBFBD>g<EFBFBD>nkbe ker<EFBFBD>lj<EFBFBD>n?
#Megold<EFBFBD>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;

View File

@ -0,0 +1,28 @@
#Az el<EFBFBD>z<EFBFBD> feladat kieg<EFBFBD>sz<EFBFBD>t<EFBFBD>se-
#Ha valamib<EFBFBD>l felesleg marad, az<EFBFBD>rt b<EFBFBD>ntet<EFBFBD>s j<EFBFBD>r.
#A csoki<EFBFBD>rt 2 p<EFBFBD>nzegys<EFBFBD>g a b<EFBFBD>ntet<EFBFBD>s. A narancs 3, a mogyor<EFBFBD> 1, virg<EFBFBD>cs 4, kindertoj<EFBFBD>s 5 <EFBFBD>s a gumicukor 6 p<EFBFBD>nzegys<EFBFBD>g b<EFBFBD>ntet<EFBFBD>st von maga ut<EFBFBD>n. Milyen csomagokat vegy<EFBFBD>nk a Mikul<EFBFBD>s csomagunk <EFBFBD>ssze<EFBFBD>ll<EFBFBD>t<EFBFBD>s<EFBFBD>hoz, ha minim<EFBFBD>lisan szeretn<EFBFBD>nk k<EFBFBD>ltekezni <EFBFBD>s minim<EFBFBD>lis b<EFBFBD>ntet<EFBFBD>st szeretn<EFBFBD>nk kapni a v<EFBFBD>g<EFBFBD>n.
#Megold<EFBFBD>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;

View File

@ -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;

View File

@ -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<EFBFBD>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<EFBFBD>t<EFBFBD>st <EFBFBD>rni, haszn<EFBFBD>ljuk a k<EFBFBD>vetkez<EFBFBD>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
;

Binary file not shown.

View File

@ -0,0 +1,19 @@
#K<EFBFBD>tf<EFBFBD>le szendvicset k<EFBFBD>sz<EFBFBD>t<EFBFBD>nk.
#Szal<EFBFBD>mis szendvics - 3gramm vaj, 3 karika toj<EFBFBD>s, 2 szelet szal<EFBFBD>mi
#Sonk<EFBFBD>s szendvics - 4 gramm vaj, 2 karika toj<EFBFBD>s, 1 szelet sonka
#<EFBFBD>sszesen van 100 szelet szal<EFBFBD>mi, 40 szelet sonka, 170 karika toj<EFBFBD>s, <EFBFBD>s 220 gramm vaj. Keny<EFBFBD>r szelet korl<EFBFBD>tlan
#Melyik fajta szendvicsb<EFBFBD>l mennyit kell k<EFBFBD>sz<EFBFBD>teni, ahhoz, hogy a lehet<EFBFBD> legt<EFBFBD>bb szendvicset tudjam elk<EFBFBD>sz<EFBFBD>teni.
#Megold<EFBFBD>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;

View File

@ -0,0 +1,22 @@
#Egy <EFBFBD>zemben 2 term<EFBFBD>ket gy<EFBFBD>rtanak, 2 g<EFBFBD>pen folyik a gy<EFBFBD>rt<EFBFBD>s.
#T1 megmunk<EFBFBD>l<EFBFBD>sa 1. g<EFBFBD>pen 3 <EFBFBD>ra, m<EFBFBD>sodik g<EFBFBD>pen pedig 4 <EFBFBD>ra.
#T2 megmunk<EFBFBD>l<EFBFBD>sa 4 <EFBFBD>s 6 <EFBFBD>ra.
#G<EFBFBD>p1 kapacit<EFBFBD>sa - 130 <EFBFBD>ra
#G<EFBFBD>p2 kapacit<EFBFBD>sa - 200 <EFBFBD>ra
#Szerel<EFBFBD>se a term<EFBFBD>knek - T1 1<EFBFBD>ra, T2 - 2<EFBFBD>ra.
#Szerelde kapacit<EFBFBD>sa - 60 <EFBFBD>ra
#Elad<EFBFBD>si egys<EFBFBD>g<EFBFBD>r - T1 - 8
# T2 - 10
#Milyen term<EFBFBD>k<EFBFBD>sszet<EFBFBD>telben <EFBFBD>rdemes gy<EFBFBD>rtani, ha maxim<EFBFBD>lis <EFBFBD>rbev<EFBFBD>telre t<EFBFBD>reksz<EFBFBD>nk, <EFBFBD>gy hogy a g<EFBFBD>pek kapacit<EFBFBD>s<EFBFBD>t nem l<EFBFBD>pj<EFBFBD>k t<EFBFBD>l, a szerelde pedig teljes kapacit<EFBFBD>ssal (=) dolgozik.
#Megold<EFBFBD>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;

Binary file not shown.

View File

@ -0,0 +1,18 @@
# Egy fogy<EFBFBD>k<EFBFBD>r<EFBFBD>z<EFBFBD> a napi C-vitamin sz<EFBFBD>ks<EFBFBD>glet<EFBFBD>t, illetve a vas sz<EFBFBD>ks<EFBFBD>glet<EFBFBD>t k<EFBFBD>tf<EFBFBD>le gy<EFBFBD>m<EFBFBD>lcs, a citrom <EFBFBD>s alma fogyaszt<EFBFBD>s<EFBFBD>val szeretn<EFBFBD> fedezni. Tegy<EFBFBD>k fel, hogy a napi C-vitamin sz<EFBFBD>ks<EFBFBD>glet 500 egys<EFBFBD>g. 100g citromban tal<EFBFBD>lhat<EFBFBD> 300 egys<EFBFBD>g, 100 g alm<EFBFBD>ban pedig 100 egys<EFBFBD>gnyi C-vitamin. Vasb<EFBFBD>l a napi sz<EFBFBD>ks<EFBFBD>glet 1.2mg , <EFBFBD>s 100g citromban 0,2mg, 100g alm<EFBFBD>ban pedig 0,5mg vas tal<EFBFBD>lhat<EFBFBD>.
# A fogy<EFBFBD>k<EFBFBD>r<EFBFBD>z<EFBFBD> napi 400 kal<EFBFBD>ri<EFBFBD>t szeretne bevinni szervezet<EFBFBD>be a gy<EFBFBD>m<EFBFBD>lcs<EFBFBD>k fogyaszt<EFBFBD>s<EFBFBD>val. 100g citrom 50, 100g alma pedig 80 kal<EFBFBD>ria.
# A piacon 1kg citrom 600Ft, 1kg alma 400 Ft-ba ker<EFBFBD>l.
#Kevesebb, mint 1kg-t is v<EFBFBD>s<EFBFBD>rolhatok.
#Mennyit vegyen az egyes gy<EFBFBD>m<EFBFBD>lcs<EFBFBD>kb<EFBFBD>l, ha azt szeretn<EFBFBD>, hogy a lehet<EFBFBD> legkevesebbet k<EFBFBD>lts<EFBFBD>n, <EFBFBD>s ne is l<EFBFBD>pje t<EFBFBD>l az el<EFBFBD><EFBFBD>rt kal<EFBFBD>riamennyis<EFBFBD>get se, de a napi C-vitamin, <EFBFBD>s vas sz<EFBFBD>ks<EFBFBD>glete fedezve legyen a megv<EFBFBD>s<EFBFBD>rolt gy<EFBFBD>m<EFBFBD>lcs<EFBFBD>kb<EFBFBD>l?
#Megold<EFBFBD>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;

View File

@ -0,0 +1,13 @@
#Elad<EFBFBD>sra k<EFBFBD>sz<EFBFBD>tenek lekv<EFBFBD>rt <EFBFBD>s bef<EFBFBD>ttet.
#Rendelkez<EFBFBD>s<EFBFBD>nkre <EFBFBD>ll 120kg gy<EFBFBD>m<EFBFBD>lcs <EFBFBD>s 80kg cukor. Egy <EFBFBD>veg lekv<EFBFBD>r elk<EFBFBD>sz<EFBFBD>t<EFBFBD>s<EFBFBD>hez sz<EFBFBD>ks<EFBFBD>g<EFBFBD>n van 80dkg gy<EFBFBD>m<EFBFBD>lcsre <EFBFBD>s 40dkg cukorra. Egy <EFBFBD>veg bef<EFBFBD>tt eset<EFBFBD>n pedig 40dkg gy<EFBFBD>m<EFBFBD>lcs <EFBFBD>s 40 dkg cukor. Egy <EFBFBD>veg lekv<EFBFBD>ron van 100Ft hasznunk, <EFBFBD>s bef<EFBFBD>tt eset<EFBFBD>n pedig 80Ft. H<EFBFBD>ny <EFBFBD>veg lekv<EFBFBD>rt <EFBFBD>s bef<EFBFBD>ttet k<EFBFBD>sz<EFBFBD>ts<EFBFBD>nk, ha szeretn<EFBFBD>nk maxim<EFBFBD>lis nyeres<EFBFBD>get el<EFBFBD>rni, mekkora lesz a maxim<EFBFBD>lis nyeres<EFBFBD>g?
#Megold<EFBFBD>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;

View File

@ -0,0 +1,14 @@
#Egy t<EFBFBD>voli j<EFBFBD>v<EFBFBD>ben az optimaliz<EFBFBD>l<EFBFBD>s vizsg<EFBFBD>ra k<EFBFBD>l<EFBFBD>nb<EFBFBD>z<EFBFBD> <EFBFBD>zes<EFBFBD>t<EFBFBD>s<EFBFBD> tud<EFBFBD>stablett<EFBFBD>k bev<EFBFBD>tel<EFBFBD>vel is fel lehet k<EFBFBD>sz<EFBFBD>lni. Egy spen<EFBFBD>tos tabletta elfogyaszt<EFBFBD>sa 10%-kal, egy eper<EFBFBD>z<EFBFBD> tabletta elfogyaszt<EFBFBD>sa 7%-kal n<EFBFBD>veli meg a hallgat<EFBFBD> tud<EFBFBD>s<EFBFBD>t.
#Teh<EFBFBD>t 4 spen<EFBFBD>tos <EFBFBD>s 5 epres tabletta elfogyaszt<EFBFBD>sa ut<EFBFBD>n elvileg 75% tud<EFBFBD>snak lenn<EFBFBD>nk a birtok<EFBFBD>ban.
#Egy spen<EFBFBD>tos tabletta 2000, az eper<EFBFBD>z<EFBFBD> pedig 1500 Ft-ba ker<EFBFBD>l. Annak <EFBFBD>rdek<EFBFBD>ben hogy elker<EFBFBD>lj<EFBFBD>k a t<EFBFBD>ladagol<EFBFBD>st, legfeljebb csak 8 tabletta vehet<EFBFBD> be. Fontos m<EFBFBD>g <EFBFBD>gyeln<EFBFBD>nk arra, hogy legal<EFBFBD>bb annyi epres, mint spen<EFBFBD>tos tabletta legyen fogyasztva.
#Milyen <EFBFBD>sszet<EFBFBD>telben v<EFBFBD>s<EFBFBD>roljunk a tablett<EFBFBD>kb<EFBFBD>l, ha a lehet<EFBFBD> legkevesebbet szeretn<EFBFBD>nk k<EFBFBD>lteni, <EFBFBD>s tudjuk, hogy 60% a sikeres vizsga teljes<EFBFBD>t<EFBFBD>s<EFBFBD>nek felt<EFBFBD>tele.
#Megold<EFBFBD>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;

View File

@ -0,0 +1,14 @@
#Egy kis szab<EFBFBD>s<EFBFBD>gban ingeket <EFBFBD>s szokny<EFBFBD>kat k<EFBFBD>sz<EFBFBD>tenek. Egy ingen 4$ , a szokny<EFBFBD>n pedig 3$ nyeres<EFBFBD>ge van a szab<EFBFBD>s<EFBFBD>gnak. Egy ing elk<EFBFBD>sz<EFBFBD>t<EFBFBD>s<EFBFBD>hez 3m anyag <EFBFBD>s 5 <EFBFBD>ra sz<EFBFBD>ks<EFBFBD>ges. Egy szoknya eset<EFBFBD>n ez 4m <EFBFBD>s 2 <EFBFBD>ra. A c<EFBFBD>g vezet<EFBFBD>je elv<EFBFBD>rja a varr<EFBFBD>n<EFBFBD>kt<EFBFBD>l, hogy napi 10 <EFBFBD>r<EFBFBD>s munkaid<EFBFBD>ben dolgozzanak, <EFBFBD>s ezalatt legal<EFBFBD>bb 4 ruhadarabot k<EFBFBD>sz<EFBFBD>tsenek el, <EFBFBD>s legfeljebb 12m anyagot haszn<EFBFBD>ljanak.
#H<EFBFBD>ny ing <EFBFBD>s h<EFBFBD>ny szoknya megvarr<EFBFBD>s<EFBFBD>val <EFBFBD>rhet<EFBFBD> el egy varr<EFBFBD>n<EFBFBD> eset<EFBFBD>n a maxim<EFBFBD>lis profit?
#Megold<EFBFBD>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;