Hi
You may find a unit commitment example at http://www.ibm.com/support/knowledgecenter/SSQVNT_3.9.0/ilog.odms.ide.odm.enterprise.help/ODME/ODM_Studio/Demo_UCP/topics/UCP_Top2Welcome.html
In order to fix your objective,
you may use Constraint Programming and then add using CP; at the top of your model and then turn your dvar float into dvar float
Or if you choose linear programming, what you could do is add a new decision variable PX
dvar float+ PX[I][T];
and then add in the subject to block 2 logical constraints
forall (i in I ,t in T) (X[i][t]==1)=>(PX[i][t]==P[i][t]) ;
forall (i in I ,t in T) (X[i][t]==0)=>(PX[i][t]==0) ;
and then rewrite your objective into
maximize
sum (t in T, i in I) (P[i,t]*SP[t])*X[i,t]
- sum (t in T, i in I) (r*R[i,t]*RP[t])*X[i,t]
- (1-r)* ( sum(t in T, i in I) (a[i]*X[i,t] + b[i]*P[i,t]*X[i,t] + c[i]*P[i,t]*PX[i,t] )) - (r)* ( sum(t in T, i in I) (a[i] + b[i]*(P[i,t]+R[i,t]) + c[i]*(P[i,t]+R[i,t] )^2) );
regards
#ConstraintProgramming-General#DecisionOptimization