Begin
This commit is contained in:
62
gyakorlatok/forgatas.mod
Normal file
62
gyakorlatok/forgatas.mod
Normal file
@ -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<EFBFBD>si id<EFBFBD>
|
||||
s.t. MaxShootingHoursADay{d in Days}: sum{s in Scene} doScene[s, d] * time[s] <= hoursADay;
|
||||
|
||||
#Forgat e a sz<EFBFBD>n<EFBFBD>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
|
||||
;
|
Reference in New Issue
Block a user