Page 1 of 1

Conopt4 says derivative is discontinuos

Posted: Wed Feb 26, 2020 6:35 am
by frds17
Hi all,

I am using dnlp=conopt4 but the output is saying infeasible solution, convergence is slow and a derivative is discontinuos. Is this error only me?

Thanks,
Fabio
final2.gms
(9.96 KiB) Downloaded 338 times

Re: Conopt4 says derivative is discontinuos

Posted: Wed Feb 26, 2020 8:47 am
by Renger
Hi Fabio

I noticed that the starting infeasibility is very hight (1E18) and even after scaling it remains in the range of 1E5. You should probably run the model with iteration limit to zero and search for this high infeasibility and then rescale your model accordingly.
The solver tries to find a solution with a precision of 1E-7 and it is a very long way from 1E18 or even 1E5 to 1E-7.

Hope this helps
Renger

PS. I had some problems with the big table. Better to put the table in Excel and read it with gdxxrw or include as csv file.

Re: Conopt4 says derivative is discontinuos

Posted: Wed Feb 26, 2020 10:20 am
by frds17
Hi Renger,

The high infeasibility in the model is in the equation utilityy(ii,a,t).

Code: Select all

utilityy(1,21,1)..  uu(1,21,1) + (4.58910086764082E15)*c(1,21,1) + (7.8014714749894E15)*l(1,21,1) =E= 0 ; (LHS = -53102452896986.7, INFES = 53102452896986.7 ****)
How should I scale this equation?

other equations with infes

Code: Select all

assets(1,21,1)..  1.1*c(1,21,1) + 1.6671066738144*l(1,21,1) + as(1,21,1) - AP(1,21,1) - NSB(1,21,1) - SP(1,21,1) + tax(1,21,1) - B(1) =E= 1.6671066738144 ; (LHS = 0.0276710667381439, INFES = 1.63943560707626 ****)
income_test(1,65,1)..  - (0.18189946424832)*l(1,65,1) + APi(1,65,1) =E= 0 ; (LHS = 0.0450104696058368, INFES = 0.0450104696058368 ****)
super_asset(1,21,1)..  0.17254554073979*l(1,21,1) + SA(1,21,1) =E= 0.17254554073979 ; (LHS = 0.00172545540739791, INFES = 0.170820085332392 ****)
super_60(1,61,1)..  0.0432665722930896*l(1,61,1) + SP(1,61,1) =E= 0.0432665722930896 ; (LHS = 0.000432665722930894, INFES = 0.0428339065701587 ****)
income(1,21,1)..  1.6671066738144*l(1,21,1) - AP(1,21,1) + y(1,21,1) =E= 1.6671066738144 ; (LHS = 0.016671066738144, INFES = 1.65043560707626 ****)
Thanks,
Fabio

Re: Conopt4 says derivative is discontinuos

Posted: Thu Feb 27, 2020 8:13 am
by Renger
Hi Fabio
You use lower bounds close to zero and no initialization of the variables, so Gams will assume either 0 or the lower bound.
Set some realistic starting values for all variables (e.g. C.L(...) = 10;
Cheers
Renger

Re: Conopt4 says derivative is discontinuos

Posted: Thu Feb 27, 2020 9:03 am
by frds17
Hi Renger,

Thanks for the recommendation, I will try it and see what happens.

Cheers,
Fabio