MakeMPS: Difference between revisions

From ASCEND
Jump to navigation Jump to search
No edit summary
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{solvers}}
{{solvers}}
{{missing}}


MakeMPS is a currently-inactive 'solver' for ASCEND that exported an active [[MODEL]] to the MPS file format. This file could then be loaded and solved using an external program, and the solution re-incorporated back into ASCEND again when completed.
MakeMPS is a 'solver' for ASCEND that exports an active [[MODEL]] to the [https://en.wikipedia.org/wiki/MPS_(format) MPS file format], with support for linear and mixed-integer programs (LP and MIP). The exported file can then be loaded and solved using an external program, such as <tt>highs</tt> or <tt>gurobi</tt>. It should then be possible to re-incorporate the solution back into ASCEND again when completed, although this part is currently untested.


The source code is available at {{src|ascend/solver/mps.c}}.
The source code is available at {{srcdir|solvers/makemps}}


'''Update''': a recent review and update of the MakeMPS code shows that it was written for the 'old' libascend API. Some changes to the way MakeMPS interacts with [[boundaries]] as well as changes to switch over the new [[Solver API]] are required. [[User:Jpye|Jpye]] 09:27, 7 February 2011 (UTC)
'''Update''': this solver was 're-commissioned' in 2026, with numerous updates following changes to the [[Solver API]] are required. Some sample problems have been added and exported in the CUnit test suite (see {{srcdir|ascend/solver/test/test_makemps.c}}, and the code tests that the resulting problems are successfully solved.
 
Note that the MPS format is restricted to linear and mixed integer and linear programs. Another file format, supported by AMPL, is the '''.nl''' file format, which can also handle non-linear equations. It would be desirable to extend the current MakeMPS export code and implement support for '''.nl''' file export.
 
See also:
* [https://en.wikipedia.org/wiki/MPS_(format) MPS file format]
* [https://web.archive.org/web/20161228202832/https://cfwebprod.sandia.gov/cfdocs/CompResearch/docs/nlwrite20051130.pdf Writing .nl files]
* [http://en.wikipedia.org/wiki/Nl_%28format%29 nl (format)] (Wikipedia)
 
[[Category:LP solvers]]

Latest revision as of 09:15, 15 February 2026

NLA
QRSlv
CMSlv
IPSlv
NLP
CONOPT
IPOPT
TRON
MINOS
Opt
NGSlv
DAE/ODE
IDA
LSODE
DOPRI5
RADAU5
LA
Linsolqr
Linsol
LP
HiGHS
MakeMPS
Logic
LRSlv

MakeMPS is a 'solver' for ASCEND that exports an active MODEL to the MPS file format, with support for linear and mixed-integer programs (LP and MIP). The exported file can then be loaded and solved using an external program, such as highs or gurobi. It should then be possible to re-incorporate the solution back into ASCEND again when completed, although this part is currently untested.

The source code is available at solvers/makemps

Update: this solver was 're-commissioned' in 2026, with numerous updates following changes to the Solver API are required. Some sample problems have been added and exported in the CUnit test suite (see ascend/solver/test/test_makemps.c, and the code tests that the resulting problems are successfully solved.

Note that the MPS format is restricted to linear and mixed integer and linear programs. Another file format, supported by AMPL, is the .nl file format, which can also handle non-linear equations. It would be desirable to extend the current MakeMPS export code and implement support for .nl file export.

See also: