Solvers to solve the DICOPT problem Topic is solved

Problems with modeling
Post Reply
Asadujjaman
User
User
Posts: 16
Joined: 4 years ago

Solvers to solve the DICOPT problem

Post by Asadujjaman »

Hi,

I am using the free time-limited evaluation license of CONOPT 4, CPLEX 12.10, DICOPT, MINOS and SNOPT solvers to solve a MINLP problems. Moreover, I am using the GAMS Release: 30.3.0 64 bit/MS Windows.
However, in solving the MINLP problem, the DICOPT stopped on NLP worsening. I have tried all the solvers mentioned above but every time the DICOPT stopped on NLP worsening.
I am wondering which solver will be able to solve the problem. Is there any problem in writing the code, although I think the code is OK!
Moreover, the program shows the best integer solution it finds. Manually, I have calculated the objective function using the decision variables of the best integer solution. But, the manually calculated objective function value doesn't matches with the objective function value of the best integer solution shown by the GAMS. Why is this problem?
Furthermore, the objective function contains exponential function. In case of exponential function contained objectives, will we get the optimal solution?
I have attached the problem below. Is there anyone with license software who can help me to solve the problem!
Thanks in advance.
Example.gms
(4.6 KiB) Downloaded 215 times
- Asadujjaman
User avatar
bussieck
Moderator
Moderator
Posts: 1033
Joined: 7 years ago

Re: Solvers to solve the DICOPT problem

Post by bussieck »

Hmmm, when I run the model DICOPT log says:

Code: Select all

--- DICOPT: Log File:
 Major Major     Objective    CPU time  Itera- Evaluation Solver
 Step  Iter       Function     (Sec)    tions   Errors
  NLP    1      3370.91124      0.01       10      0      conopt
  MIP    1      3100.32513      0.33     4369      0      cplex
  NLP    2      3106.29333<     0.00        4      0      conopt
  MIP    2      3100.32513      0.33     6513      0      cplex
  NLP    3      3106.29333      0.00        4      0      conopt
If I recalculate the objective function via

Code: Select all

  solve m using minlp maximizing NPV;

$ondotL
NPV.l = sum (i, (c(i)*(exp(-0.01*adjustFT(i))))) - sum((o,k,s,t),PC(k,s)*x(o,k,s)*exp(-0.01*OT(o,t)));
display NPV.l;
I get the same 3106.293:

Code: Select all

----    177 VARIABLE NPV.L                 =     3106.293  net present value
The model is small enough to solve with a global solver, like Antigone, BARON, Couenne, LindoGlobal, and SCIP. They prove that the 3106.293 is the global optimal solution. Don't forget to set optcr=0 when you experiment with global solvers.

-Michael
Asadujjaman
User
User
Posts: 16
Joined: 4 years ago

Re: Solvers to solve the DICOPT problem

Post by Asadujjaman »

Hi Michael,

Thank you. I got the solution.

I see that the best integer solution found before the DICOPT stopped on NLP worsening is the global optimal solution. But, why the solver doesn't say that it finds the "global optimal solution found"?
As the solver found the best integer solution before the DICOPT stopped, is it meant that the DICOPT terminating is not a problem when it finds the best integer solution (which is also a global optimal solution)?

-Asadujjaman
User avatar
bussieck
Moderator
Moderator
Posts: 1033
Joined: 7 years ago

Re: Solvers to solve the DICOPT problem

Post by bussieck »

DICOPT is a local solver it does not know if a solution is globally optimal. So it needs to terminate in some other ways. -Michael
Asadujjaman
User
User
Posts: 16
Joined: 4 years ago

Re: Solvers to solve the DICOPT problem

Post by Asadujjaman »

Hi Michael,

As my first example problem was small enough to solve with a global solver, thus now I am trying to solve a larger size problem with the global solvers. I have attached my problem below. I have tried to solve the problem using the LindoGlobal. It shows that, both the solution and the best possible solution are 18226.563.
Is it meant that, this this the optimal solution?
If so, why the solver doesn't say that it finds the "global optimal solution"?
What is meant by the "NLP local optimizer terminated"?
Is there any other solver who can solve the problem quickly than the LindoGlobal with the global optimal solution?
I would be grateful if you kindly have look on it.
Example2.gms
(6.63 KiB) Downloaded 209 times
-Asadujjaman
User avatar
bussieck
Moderator
Moderator
Posts: 1033
Joined: 7 years ago

Re: Solvers to solve the DICOPT problem

Post by bussieck »

Not sure what you mean. LindoGlobal reports (globally) optimal solution:

Code: Select all

               S O L V E      S U M M A R Y

     MODEL   m                   OBJECTIVE  NPV
     TYPE    MINLP               DIRECTION  MAXIMIZE
     SOLVER  LINDOGLOBAL         FROM LINE  251

**** SOLVER STATUS     1 Normal Completion         
**** MODEL STATUS      1 Optimal                   
**** OBJECTIVE VALUE            18226.5635

 RESOURCE USAGE, LIMIT          5.531      2000.000
 ITERATION COUNT, LIMIT     39779        100000
 EVALUATION ERRORS             NA             0
Lindo reformulates your problem into a linear MIP see message "The problem is a MILP" (you can probably do the same and use a MIP solver). For MIPs Lindo (and other GAMS solvers) solve the "fixed" problem, i.e. after finding the global optimum, Lindo fixes the discrete variables at their value and solve the continuous problem to get some kind of a dual solution. This is where the message "NLP local optimizer terminated" comes from. There are more messages about calculating the dual solution in the log.

-Michael
Asadujjaman
User
User
Posts: 16
Joined: 4 years ago

Re: Solvers to solve the DICOPT problem

Post by Asadujjaman »

Dear Michael,

Now, I understand it. Thank you so much.

-Md. Asadujjaman
Post Reply