Forum Discussion

FICO's avatar
FICO
Community Manager
2 years ago

What is the difference between XPRS_TOP and XPRS_LPSTOP ?

We are using XPRS_TOP in the old mosel version and for newer version we are using XPRS_LPSTOP. we are not gettng the LP problem solved as expected is there any difference between both if there is what can we use in place of XPRS_TOP in the newer version.

sample code we using:

minimize(XPRS_TOP,objective) :- for older version

minimize(XPRS_LPSTOP,objective) : for newer version

1 Reply

  • FICO's avatar
    FICO
    Community Manager

    The options XPRS_TOP and XPRS_GLB for the minimize/maximize subroutines of the Mosel module mmxprs have been replaced by XPRS_LPSTOP and XPRS_CONT respectively in Mosel version 3.2 (Xpress Rel 7.1, published in Nov 2010), the deprecated forms have remained usable through Mosel versions 3 and 4, for the case of XPRS_TOP resulting in the same solver behaviour as with XPRS_LPSTOP (that is, the MIP solvers stops its processing after the root LP has been solved). Starting with Mosel 3.2, the problem status reported by 'getprobstat' after the call refers to the MIP (where it used to return the status of the last LP solved), for more detailed reporting it is recommended to check the MIP status, i.e. getparam("XPRS_MIPSTATUS"), before the LP status, i.e. getparam("XPRS_LPSTATUS").

    When comparing the options you should make sure that (a) the same problem has been loaded into the solver, and (b) the same solver version is used in both cases (when comparing the behaviour of solver versions that are more than 10 years apart, there is a chance of seeing different solve paths due to the introduction of new algorithmic features or changes to default configurations).