HELP with ** Optimal solution. There are no superbasic variables.

Hi all. I’m pretty new to GAMS and I started using it. 'm working with a MINLP model and the following message appears to me: ** Optimal solution. There are no superbasic variables.
I checked a lot of times the model and I can´t find the key. I’d really appreciate with any insight or idea about this situation and possible way to solve. Thanks a lot!
here is my code.

set i buses /137/
LP(i);
set k hours per day /1
24/
H(k);
alias (i,j) ;
alias (k,m) ;
set DG(i) DG units at remot buses /11, 15, 25, 35/
Scalar SBase System base in MVA / 20 /;
Scalar VBase System base voltage in kV /11/;
set t /low, off-peak, peak/;
alias (t,s);
set Type Customer Type resi_com_SUser_ Gov-ins/1*4/;
Set Head1 /Line,Length/;
scalar Rkm resistance per km /.8315/;
scalar Xkm reactance per km /.7874/;
*-----Line data here--------------
Table LineData(i,j,Head1)
Line Length
*--------F1------------------------------
1.2 1 .75
2.3 2 .6
2.4 3 .8
2.5 4 .75
5.6 5 .8
5.7 6 .6
5.8 7 .75
8.9 8 .8
8.10 9 .75
8.11 10 .6
11.12 11 .8
*--------F2------------------------------
1.13 12 .75
13.14 13 .8
13.15 14 .6
15.16 15 .8
*--------F3------------------------------
1.17 16 .75
17.18 17 .6
17.19 18 .8
19.20 19 .75
19.21 20 .8
19.22 21 .6
22.23 22 .75
22.24 23 .8
22.25 24 .75
25.26 25 .6
*--------F4-----------------------------
1.27 26 .8
27.28 27 .75
27.29 28 .6
27.30 29 .75
30.31 30 .6
30.32 31 .8
30.33 32 .75
33.34 33 .8
33.35 34 .6
35.36 35 .75
35.37 36 .8 ;
Set Head DG Data heads /Pmin, Pmax, Qmin, Qmax, A, B, C, StCst, SdCst/;

  •    -----DG units data here--------------
    

TABLE DistGen(i, Head) generator data
Pmin Pmax Qmin Qmax A B C StCst SdCst
11 .001 .1 0 .35 .004 55 15 50 10
15 .001 .05 0 .2 .003 60 60 25 10
25 .001 .2 0 .25 .005 45 50 50 10
35 .001 .05 0 .5 .003 05 65 50 10;
Set Head2 /LP, Type, Ave, Peak, Num/;
*-----Active power demand data here--------------;
table Pdem0(i, Head2)
LP Type Ave Peak Num
3 1 1 .535 .8668 210
4 2 1 .535 .8668 210
6 3 1 .535 .8668 210
7 4 4 .566 .9167 1
9 5 4 .566 .9167 1
10 6 2 .454 .75 10
12 7 2 .454 .75 10
14 8 3 1 1.6279 1
16 9 3 1.15 1.8721 1
18 10 1 .535 .8668 210
20 11 1 .535 .8668 210
21 12 1 .450 .7291 200
23 13 4 .566 .9167 1
24 14 4 .566 .9167 1
26 15 2 .454 .75 10
28 16 2 .454 .75 10
29 17 1 .450 .7291 200
31 18 1 .450 .7291 200
32 19 1 .450 .7291 200
34 20 4 .566 .9167 1
36 21 4 .566 .9167 1
37 22 2 .454 .75 10;

table E(s,t) Self and cross elasticities.
low off-peak peak
low -.1 .01 .012
off-peak .01 -.1 .016
peak .012 .016 -.1;
parameter LC(t) Load Curve
/
low .71
off-peak .82
peak .94/;
*--------PerUnit power demand-------------------
parameter Pdem1(i);
Pdem1(i)= Pdem0(i,“peak”)/SBase;
*---------Load Profile--------------------------
parameter TPdem(k), pri(k),CILa,Lcurve(k);
LCurve(k) $(ord(k) = 10 and ord(k) = 13 and ord(k) = 19)=.82;
TPdem(k)= sum(i, Pdem1(i)*LCurve(k));
*—Day-Ahead hourly price
parameter Pri(k)
/
1 40.840, 2 38.800, 3 36.740, 4 34.820, 5 38.180, 6 41.220
7 47.880, 8 44.780, 9 43.760, 10 50.600, 11 51.660, 12 54.480
13 64.460, 14 73.400, 15 76.960, 16 80.420, 17 76.100, 18 64.700
19 57.740, 20 55.660, 21 52.240, 22 46.340, 23 40.940, 24 44.700
/;
Variables
GridP(k)
ILCont(k)
ILsch(k)
Payment
U1(dg,k)
V1(dg,k)
W(dg,k)
U2(k);
Binary variable U1, V1, U2, W;
POSITIVE VARIABLES
ILsch(k)
PG(dg,k) ;
Equations
Obj1
Eq1a(k)
Eq1b(k)
Eq2b(k)
Eq1c(dg,k)
Eq2c(dg,k)
Eq1d(k)
Eq2d(k)
Eq3e
Eq4e
Eq5e;

Obj1… Payment=e=Sum(k,
Pri(k)*GridP(k)*SBase

  • CILa(k)ILCont(k)(1000*SBase)
    +(Sum(dg,DistGen(dg,“StCst”)*U1(dg,k) + DistGen(dg,“SdCst”)*V1(dg,k)
    +DistGen(dg,“C”)*W(dg,k) + DistGen(dg,“B”)*PG(dg,k)*SBase
  • DistGen(dg,“A”)*power((PG(dg,k)*SBase ),2))));
    *Demand-Supply Balance Constraint
    Eq1a(k)… Sum(dg, PG(dg,k))+ GridP(k)+ ILsch(k)=e= TPdem(k);
    *Grid Purchase Constraints
    scalar PMa /.6/;
    scalar PMi /.1/;
    Eq1b(k)… GridP(k) =l= PMa;
    Eq2b(k)… GridP(k) =g= PMi;
    *DG constraints
    Eq1c(dg,k)… PG(dg,k) =l= DistGen(dg,“PMax”)*W(dg,k);
    Eq2c(dg,k)… PG(dg,k) =g= DistGen(dg,“Pmin”)W(dg,k);
    Limit on IL Contract
    parameter CILa;
    CILa(K)=(pri(k)-1)(ord(k)>=20) + 0(ord(k)<20) ;
    Scalar IntLim /0.05/;
    Eq1d(k)… ILCont(k) =l= IntLim
    TPdem(k)
    U2(k);
    Eq2d(k)… ILsch(k) =l= ILCont(k);
    *Coordination Constraints
    Eq3e(dg,k)(ord(k) gt 1).. W(dg,k) - W(dg,k-1) =l= U1(dg,k); Eq4e(dg,k)(ord(k) gt 1)… W(dg,k-1) - W(dg,k) =l= V1(dg,k);
    Eq5e(dg,k)$(ord(k) gt 1)… U1(dg,k) - V1(dg,k) =e= W(dg,k) - W(dg,k-1);

Model DAOM /all/ ;
SOLVE DAOM using minlP Minimizing Payment;
display gridp.l, PG.l, W.l;


To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld.
For more options, visit https://groups.google.com/groups/opt_out.

Hi Hadi



The first part of the message reads ”Optimal Solution” which means that you should be happy. The second part is a classification of how optimality was determined. If you do not understand it, don’t worry – you will have to do some algorithmic studying to appreciate it.



Regards



Arne


\

Arne Stolbjerg Drud

ARKI Consulting & Development A/S

Bagsvaerdvej 246A, DK-2880 Bagsvaerd, Denmark

Phone: (+45) 44 49 03 23, Fax: (+45) 44 49 03 33, email: adrud@arki.dk



From: gamsworld@googlegroups.com [mailto:gamsworld@googlegroups.com] On Behalf Of Hadi
Sent: Monday, December 09, 2013 4:20 PM
To: gamsworld@googlegroups.com
Subject: HELP with ** Optimal solution. There are no superbasic variables.





Hi all. I’m pretty new to GAMS and I started using it. 'm working with a MINLP model and the following message appears to me: ** Optimal solution. There are no superbasic variables.

I checked a lot of times the model and I can´t find the key. I’d really appreciate with any insight or idea about this situation and possible way to solve. Thanks a lot!

here is my code.



set i buses /1*37/

LP(i);

set k hours per day /1*24/

H(k);

alias (i,j) ;

alias (k,m) ;

set DG(i) DG units at remot buses /11, 15, 25, 35/

Scalar SBase System base in MVA / 20 /;

Scalar VBase System base voltage in kV /11/;

set t /low, off-peak, peak/;

alias (t,s);

set Type Customer Type resi_com_SUser_ Gov-ins/1*4/;

Set Head1 /Line,Length/;

scalar Rkm resistance per km /.8315/;

scalar Xkm reactance per km /.7874/;

*-----Line data here--------------

Table LineData(i,j,Head1)

Line Length

*--------F1------------------------------

1.2 1 .75

2.3 2 .6

2.4 3 .8

2.5 4 .75

5.6 5 .8

5.7 6 .6

5.8 7 .75

8.9 8 .8

8.10 9 .75

8.11 10 .6

11.12 11 .8

*--------F2------------------------------

1.13 12 .75

13.14 13 .8

13.15 14 .6

15.16 15 .8

*--------F3------------------------------

1.17 16 .75

17.18 17 .6

17.19 18 .8

19.20 19 .75

19.21 20 .8

19.22 21 .6

22.23 22 .75

22.24 23 .8

22.25 24 .75

25.26 25 .6

*--------F4-----------------------------

1.27 26 .8

27.28 27 .75

27.29 28 .6

27.30 29 .75

30.31 30 .6

30.32 31 .8

30.33 32 .75

33.34 33 .8

33.35 34 .6

35.36 35 .75

35.37 36 .8 ;

Set Head DG Data heads /Pmin, Pmax, Qmin, Qmax, A, B, C, StCst, SdCst/;

  •    -----DG units data here--------------
    

TABLE DistGen(i, Head) generator data

Pmin Pmax Qmin Qmax A B C StCst SdCst

11 .001 .1 0 .35 .004 55 15 50 10

15 .001 .05 0 .2 .003 60 60 25 10

25 .001 .2 0 .25 .005 45 50 50 10

35 .001 .05 0 .5 .003 05 65 50 10;

Set Head2 /LP, Type, Ave, Peak, Num/;

*-----Active power demand data here--------------;

table Pdem0(i, Head2)

LP Type Ave Peak Num

3 1 1 .535 .8668 210

4 2 1 .535 .8668 210

6 3 1 .535 .8668 210

7 4 4 .566 .9167 1

9 5 4 .566 .9167 1

10 6 2 .454 .75 10

12 7 2 .454 .75 10

14 8 3 1 1.6279 1

16 9 3 1.15 1.8721 1

18 10 1 .535 .8668 210

20 11 1 .535 .8668 210

21 12 1 .450 .7291 200

23 13 4 .566 .9167 1

24 14 4 .566 .9167 1

26 15 2 .454 .75 10

28 16 2 .454 .75 10

29 17 1 .450 .7291 200

31 18 1 .450 .7291 200

32 19 1 .450 .7291 200

34 20 4 .566 .9167 1

36 21 4 .566 .9167 1

37 22 2 .454 .75 10;



table E(s,t) Self and cross elasticities.

low off-peak peak

low -.1 .01 .012

off-peak .01 -.1 .016

peak .012 .016 -.1;

parameter LC(t) Load Curve

/

low .71

off-peak .82

peak .94/;

*--------PerUnit power demand-------------------

parameter Pdem1(i);

Pdem1(i)= Pdem0(i,“peak”)/SBase;

*---------Load Profile--------------------------

parameter TPdem(k), pri(k),CILa,Lcurve(k);

LCurve(k) $(ord(k) = 10 and ord(k) = 13 and ord(k) = 19)=.82;

TPdem(k)= sum(i, Pdem1(i)*LCurve(k));

*—Day-Ahead hourly price

parameter Pri(k)

/

1 40.840, 2 38.800, 3 36.740, 4 34.820, 5 38.180, 6 41.220

7 47.880, 8 44.780, 9 43.760, 10 50.600, 11 51.660, 12 54.480

13 64.460, 14 73.400, 15 76.960, 16 80.420, 17 76.100, 18 64.700

19 57.740, 20 55.660, 21 52.240, 22 46.340, 23 40.940, 24 44.700

/;

Variables

GridP(k)

ILCont(k)

ILsch(k)

Payment

U1(dg,k)

V1(dg,k)

W(dg,k)

U2(k);

Binary variable U1, V1, U2, W;

POSITIVE VARIABLES

ILsch(k)

PG(dg,k) ;

Equations

Obj1

Eq1a(k)

Eq1b(k)

Eq2b(k)

Eq1c(dg,k)

Eq2c(dg,k)

Eq1d(k)

Eq2d(k)

Eq3e

Eq4e

Eq5e;



Obj1… Payment=e=Sum(k,

Pri(k)*GridP(k)*SBase

  • CILa(k)ILCont(k)(1000*SBase)

+(Sum(dg,DistGen(dg,“StCst”)*U1(dg,k) + DistGen(dg,“SdCst”)*V1(dg,k)

+DistGen(dg,“C”)*W(dg,k) + DistGen(dg,“B”)*PG(dg,k)*SBase

  • DistGen(dg,“A”)*power((PG(dg,k)*SBase ),2))));

*Demand-Supply Balance Constraint

Eq1a(k)… Sum(dg, PG(dg,k))+ GridP(k)+ ILsch(k)=e= TPdem(k);

*Grid Purchase Constraints

scalar PMa /.6/;

scalar PMi /.1/;

Eq1b(k)… GridP(k) =l= PMa;

Eq2b(k)… GridP(k) =g= PMi;

*DG constraints

Eq1c(dg,k)… PG(dg,k) =l= DistGen(dg,“PMax”)*W(dg,k);

Eq2c(dg,k)… PG(dg,k) =g= DistGen(dg,“Pmin”)*W(dg,k);

*Limit on IL Contract

parameter CILa;

CILa(K)=(pri(k)-1)(ord(k)>=20) + 0(ord(k)<20) ;

Scalar IntLim /0.05/;

Eq1d(k)… ILCont(k) =l= IntLimTPdem(k) U2(k);

Eq2d(k)… ILsch(k) =l= ILCont(k);

*Coordination Constraints

Eq3e(dg,k)$(ord(k) gt 1)… W(dg,k) - W(dg,k-1) =l= U1(dg,k);

Eq4e(dg,k)$(ord(k) gt 1)… W(dg,k-1) - W(dg,k) =l= V1(dg,k);

Eq5e(dg,k)$(ord(k) gt 1)… U1(dg,k) - V1(dg,k) =e= W(dg,k) - W(dg,k-1);



Model DAOM /all/ ;

SOLVE DAOM using minlP Minimizing Payment;

display gridp.l, PG.l, W.l;


\

To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld.
For more options, visit https://groups.google.com/groups/opt_out.


To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld.
For more options, visit https://groups.google.com/groups/opt_out.

Reply-to: gamsworld@googlegroups.com

Hi Dear Arne
Could u pl. explain more about it and and how can i fix it?
Thanx


To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld.
For more options, visit https://groups.google.com/groups/opt_out.

Reply-to: gamsworld@googlegroups.com

Hi Arne
one more question, what should i do with this: ** Optimal solution. Reduced gradient less than tolerance.


To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld.
For more options, visit https://groups.google.com/groups/opt_out.