Reading NEOS output solution

21 views
Skip to first unread message

Abdelrahman Ayad

unread,
Aug 31, 2021, 4:01:15 PM8/31/21
to Artelys Knitro forum
Hello everyone, 

I try to solve a MINLP problem with Knitro on NEOS (using Pyomo).

 I get an email that says : "Your job results were too long for email.  The results may be downloaded from: https://neos-server.org/neos/admin.html"

The .sol file contains the output, but it's not clear why do the values mean. The first few lines are: 
==================
Knitro 12.3.0: MIP: All nodes have been explored. Integer feasible point found.
objective 28625203.768800005; integrality gap 1.8e+308
5 nodes; 32 subproblem solves

Options
3
1
1
0
15442
15442
14396
14396
0
0
0
0
0
0
0
0
0
0
0
...
==================

How can I know the meaning of each output value? What are the variable names and how can I control the output format?

This is the code I use to send the problem to NEOS: 
    solver_manager = pyo.SolverManagerFactory('neos')
    results_NEOS = solver_manager.solve(model,
                                        logfile = "log_knitro_neos.log",
                                        keepfiles = True,
                                        tee = True,
                                        opt='knitro',
                                        options="outlev=3"
                                        )
    results_NOES.write()


Thank you very much for your time and help:)

richard.waltz

unread,
Aug 31, 2021, 4:13:25 PM8/31/21
to Artelys Knitro forum
Hi,

The Knitro termination message means that it terminated with an integer feasible point, but it was not able to prove optimality.  If the model is non-convex this can happen (the Knitro MINLP solver is a heuristic for non-convex models).  The final objective returned by Knitro is provided.  If you set the option "outlev=6"


Knitro will also print the final solution vector at the end of the optimization.  We do not maintain the Pyomo interface to Knitro so if there are other issues trying to retrieve solution information, you would need to ask the developers of Pyomo.  Moreover, you would need to ask the NEOS support team about the message:

  I get an email that says : "Your job results were too long for email.  The results may be downloaded from: https://neos-server.org/neos/admin.html"

Best regards,
-Richard Waltz

Mark L. Stone

unread,
Sep 1, 2021, 8:55:31 PM9/1/21
to Artelys Knitro forum
 1.8e+308 seems like a rather large integrality gap.

richard.waltz

unread,
Sep 1, 2021, 8:58:11 PM9/1/21
to Artelys Knitro forum
This is the default initial gap value used to represent infinity.  It means that Knitro was unable to produce a valid finite optimality gap value  (probably because of non-convexity). 
Reply all
Reply to author
Forward
0 new messages