Originally posted by: vamshi.IIT
here is my complete code:
{code}
{int}comp = {1,2,3,4,5};
{int}period = {1,2,3,4,5,6,7,8,9,10};
float f[comp] = [0.00022,0.00035,0.00038,0.00034,0.00032];
float B[comp] = [2.2,2,2.05,1.9,1.75];
float a[comp] = [0.62,0.58,0.55,0.5,0.48];
float MC[comp] = [35,32,65,42,50];
float FC[comp] = [250,240,270,210,220];
float PC[comp] = [200,210,245,180,205];
float MT[comp] = [0,0,0,0,0];
float RT[comp] = [0,0,0,0,0];
int T=10;
int JP=10;
float S=0.50;
int Z=800;
int BD=25000;
dvar float+ X[comp,period];
dvar float+ Y[comp,period];
dvar boolean m[comp,period];
dvar boolean r[comp,period];
maximize // **************** OBJECTIVE*************************
(sum(i in comp,j in period)(((Y[i,j])^B[i])-((X[i,j])^B[i]))) / ((sum(i in comp,j in period)(((Y[i,j])^B[i])-((X[i,j])^B[i])))-((sum(i in comp,j in period)((MT[i]*m[i,j])+(RT[i]*r[i,j])))*(prod(i in comp,j in period)(2.71828^(-(f[i]*(((Y[i,j])^B[i])-((X[i,j])^B[i]))))))));
subject to {
forall(i in comp,j in period)
ct1:
X[i,1] == 0 ;
forall(i in comp,j in period : j>=2)
ct2:
X[i,j] == ( (1-m[i,j-1])*(1-r[i,j-1])*Y[i,j] ) + ( a[i] * m[i,j-1] * Y[i,j-1] );
forall(i in comp,j in period)
ct3:
Y[i,j] == X[i,j] + (T/JP) ;
forall(i in comp,j in period)
ct4:
m[i,j] + r[i,j] <= 1 ;
forall(i in comp,j in period)
ct5:
prod(i in comp,j in period) (2.71828^(-(f[i]*(((Y[i,j])^B[i])-((X[i,j])^B[i]))))) >= S ;
forall(i in comp,j in period)
ct7:
X[i,j] >= 0 ;
forall(i in comp,j in period)
ct8:
Y[i,j] >= 0 ;
}
{code}
#DecisionOptimization#OPLusingCPLEXOptimizer