Question: when I run this code: % Variables and Constants Declaration int: n _ employee; % Number of technicians int: n _ turbine; % Number of
when I run this code: Variables and Constants Declaration
int: nemployee; Number of technicians
int: nturbine; Number of turbines
int: ntasks; Number of tasks
int: nperiod; Number of periods per day
int: nweek; Number of weeks
int: nday; Number of days per week
int: nskills; Number of skills
arraynturbine, nperiod of float: productivity; Productivity of turbine t during period p
arrayntasks of int: onturbine; Turbine assigned to task i
arrayntasks of int: length; Duration of task i in periods
arraynemployee, nskills of int: skills; Skill availability matrix or
arrayntasks of int: skillreq; Required skill for each task single integer
Decision Variables
arrayntasks of var nperiod: Starttime; Start time of task i
arrayntasks of var nperiod: Endtime; End time of task i
arraynturbine of var float: Lossturbine; Productivity loss for turbine t
arrayntasks, nperiod of var bool: Taskactive; Task activity during period p
arraynturbine, nperiod of var bool: Turbineactive; Turbine activity during period p
arraynemployee, ntasks of var bool: Assign; Technician assignment to tasks
Objective Function: Maximize total productivity accounting for losses
solve maximize sumt in nturbine, p in nperiod
productivityt p Turbineactivet p
sumt in nturbine
Lossturbinet
;
Constraints
Task activity definition
constraint foralli in ntasks, p in nperiod
Taskactivei p boolintStarttimei p p Endtimei
;
Turbine activity definition
constraint forallt in nturbine, p in nperiod
Turbineactivet p boolintsumTaskactivei p i in ntasks where onturbinei t
;
No overlapping tasks on the same turbine
constraint forallt in nturbine, p in nperiod
sumTaskactivei p i in ntasks where onturbinei t
;
Technician constraints
constraint forallp in nperiod
sumAssignk i Taskactivei p i in ntasks, k in nemployee nemployee
;
Skill requirements for technician assignment
constraint foralli in ntasks, k in nemployee
Assignk iskillsk skillreqi
;
Duration calculation
constraint foralli in ntasks
lengthi Endtimei Starttimei
;
Productivity loss calculation
constraint forallt in nturbine
Lossturbinet sump in nperiod
Turbineactivet p productivityt p
;
Tasks must avoid periods that are multiples of
constraint foralli in ntasks, p in nperiod
p mod Taskactivei p
;
when I run the above code in minizinc base on the below data value it shown me unsatisfable please could you support me to align the code with the below data value: nemployee ;
nturbine ;
ntasks ;
nweek ;
nday nweek;
nperiod nday;
productivity arraydnturbine,nperiod,
;
onturbine arraydntasks,;
length arraydntasks,;
nskills ;
skillsij indique si le technicien i a le skill j
skills arraydnemployee,nskills,
;
indique quel skill est requis pour quelle tche
skillreq arraydntasks,;
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
