You are on page 1of 1

/*********************************************

* OPL 12.6.0.0 Model


* Author: garaix
* Creation Date: 12 juin 2017 at 15:43:22
*********************************************/

// DATA

{string} Hospital = ...;


{string} Machine = ...;
{string} AttributeName = ...;
int Requirement [Hospital]=...;
int TransportCostUD [Hospital,Hospital] = ...;
int TransportCostPrescriptions [Hospital,Hospital] = ...;
int Attribute [Machine,AttributeName] = ...;
int Opening[Hospital]=...;

int Lifespan = ...;


float Availability=...;

// DECISION VARIABLES

dvar int+ N [Machine] ; // Number of robots of each type

// VARIABLES
dvar int FixCost;
dvar int TransCost;

int cheapestNeighborUD[h in Hospital]=min(i in Hospital : i != h)


TransportCostUD[i][h];
//OBJECTIVE FUNCTION
minimize FixCost+TransCost;

subject to {

//int fixcost
FixCost==sum(m in Machine,a in AttributeName:a=="Cost") N[m]*Attribute[m,a];
TransCost==sum(h in Hospital) cheapestNeighborUD[h]+sum(h in
Hospital)cheapestNeighborPres[h];
StorageCapacity:
sum(m in Machine,a in AttributeName:a=="Capstorage" && m=="StorageMAchine")
N[M]*Attribute[m,a]>=(sum(h in Hospital) Requirement[h])/365*5;

precapacity:
sum(m in machine,a in attributeName: m=="packingmachine"&&
a=="CapPrepPrescriptionsperHour") (N[m]*Attribute[m,a]*sum(h in hospital)
Opening[h]) /(sum(h in hospital) 1 >= (sum(h in hotpital)Requirement[h])/((sum(h
in hospital)
Opening[h])/(sum(h in hospital)(UDprescription)

You might also like