## An MIP formulation for MPEC can be solved with option optcr=0. However, the result appears not an optimal solution.

Problems with modeling
uluoo
User Posts: 4
Joined: 3 years ago

### An MIP formulation for MPEC can be solved with option optcr=0. However, the result appears not an optimal solution.

Hello,
I have developed an MIP formulation for MPEC as follows. It can be solved with option optcr=0. However, the result appears not an optimal solution. If we set Pb_h.fx(h) = 20, a better solution can be derived. It is strange. Would you please help me.

sets
d demand /1/,
b /1*2/,
w /1*2/,
g thermal generation /1/,
h hydro /1/;

scalars
Pb_cap price cap for bids[\$.MWh^-1] /50/,
Mmax /10000/;

parameters
qd(d) demand /1 200/,
Pb_g(g, w, b) price offer by block bg of thermal generating unit g in time period t and scenario w /1.1.1 22, 1.1.2 23, 1.2.1 22.1, 1.2.2 22.3/,
q_hmax(h) maximum capacity of hydroplant in time period t[MW] /1 200/,
q_gmax(g, w, b) maximum capacity of block bg of thermal generating unit g in time period t /1.1.1 150, 1.1.2 150, 1.2.1 150, 1.2.2 150/,
q_gmin(g, w, b) minimum capacity of block bg of thermal generating unit g in time period t/1.1.1 0, 1.1.2 0, 1.2.1 0, 1.2.2 0/;

positive variables
Pb_h(h) price offer by block bg of hydropower plant in period t ,
qb_h(h) quantity offer by block bg of hydropower plant in period t;

*Pb_h.fx(h) = 20;

variables
obj the target,
lamda(w) locational marginal price at node n in period t and scenario w,
q_h(h, w) power produced by block bg of hydropower plant in period t and scenario w,
q_g(g, w, b) power produced block bg of thermal generating unit g in period t and scenario w,
miu_hmax(h, w) duel,
miu_hmin(h, w),
miu_gmax(g, w, b),
miu_gmin(g, w, b);

binary variables
ah_min(h, w),
ah_max(h, w),
ag_min(g, w, b),
ag_max(g, w, b);

equations
ob,
BidLimit(h, b),
BlockLimit(h),
DerLamda(w),
derH(h, w),
derG(g, w, b),
CompHmin1(h, w),
CompHmin2(h, w),
CompHmin3(h, w),
CompHmin4(h, w),
CompGmin1(g, w, b),
CompGmin2(g, w, b),
CompGmin3(g, w, b),
CompGmin4(g, w, b),
CompHmax1(h, w),
CompHmax2(h, w),
CompHmax3(h, w),
CompHmax4(h, w),
CompGmax1(g, w, b),
CompGmax2(g, w, b),
CompGmax3(g, w, b),
CompGmax4(g, w, b);

ob.. obj =e= -sum((g, w, b), q_g(g, w, b) * Pb_g(g, w, b)) + sum((d, w), Lamda(w) * qd(d)) - sum((g, w, b), miu_gmax(g, w, b) * q_gmax(g, w, b)) - sum(h, Pb_h(h));
BidLimit(h, b).. Pb_h(h) =l= Pb_cap;
BlockLimit(h).. qb_h(h) =e= q_hmax(h);

DerLamda(w).. sum(d, qd(d)) - sum(h, q_h(h, w)) - sum((g, b), q_g(g, w, b)) =e= 0;
derH(h, w).. Pb_h(h) - Lamda(w) + miu_hmax(h, w) - miu_hmin(h, w) =e= 0;
derG(g, w, b).. Pb_g(g, w, b) - Lamda(w) + miu_gmax(g, w, b) - miu_gmin(g, w, b) =e= 0;

CompHmin1(h, w) .. q_h(h, w) =g= 0;
CompHmin2(h, w) .. miu_hmin(h, w) =g= 0;
CompHmin3(h, w) .. q_h(h, w) =l= ah_min(h, w)*Mmax;
CompHmin4(h, w) .. miu_hmin(h, w) =l= (1-ah_min(h, w))*Mmax;

CompHmax1(h, w) .. qb_h(h)-q_h(h, w) =g= 0;
CompHmax2(h, w) .. miu_hmax(h, w) =g= 0;
CompHmax3(h, w) .. qb_h(h)-q_h(h, w) =l= ah_max(h, w)*Mmax;
CompHmax4(h, w) .. miu_hmax(h, w) =l= (1-ah_max(h, w))*Mmax;

CompGmin1(g, w, b) .. q_g(g, w, b)-q_gmin(g, w, b) =g= 0;
CompGmin2(g, w, b) .. miu_gmin(g, w, b) =g= 0;
CompGmin3(g, w, b) .. q_g(g, w, b)-q_gmin(g, w, b) =l= ag_min(g, w, b)*Mmax;
CompGmin4(g, w, b) .. miu_gmin(g, w, b) =l= (1-ag_min(g, w, b))*Mmax;

CompGmax1(g, w, b) .. q_gmax(g, w, b)-q_g(g, w, b) =g= 0;
CompGmax2(g, w, b) .. miu_gmax(g, w, b) =g= 0;
CompGmax3(g, w, b) .. q_gmax(g, w, b)-q_g(g, w, b) =l= ag_max(g, w, b)*Mmax;
CompGmax4(g, w, b) .. miu_gmax(g, w, b) =l= (1-ag_max(g, w, b))*Mmax;

model simple /all/;
option optcr=0;
solve simple using MIP maximizing obj;

Manassaldi
User Posts: 93
Joined: 4 years ago
Location: Rosario - Argentina

### Re: An MIP formulation for MPEC can be solved with option optcr=0. However, the result appears not an optimal solution.

Hi, on my computer I don't have that problem

normal solution: z=8820
with Pb_h.fx(h) = 20 : z=8800

Normal solution is greater than forced solution

Bye!