Initializing help system before first use

New functionality for the Mosel language

This module exposes its functionality through an extension to the mpproblem problem type. As a consequence, all routines presented here are executed in the context of the current problem. In particular, the setting of a control parameter is applied only to the current problem and each problem has its own set of settings and solution information. However, when a new problem instance is created, the value of the control parameters XPRS_colorder, XPRS_enummaxsol, XPRS_enumduplpol, XPRS_loadnames and XPRS_verbose are initialised with the settings of the main problem.

The type basis

The module mmxprs defines the type basis to represent solution basis in the Mosel Language. This new type is used to store a basis computed by the optimizer during its solution process (savebasis). A basis can then be loaded again into the optimiser with loadbasis, inspected (by getting the basis status of each variable/constraint it includes with getbstat) or modified (by changing this basis status using setbstat). The type basis supports assignment and test of equality. This comparison only checks whether two basis contain the same information, it does not indicate whether the basis are equivalent.

The type mpsol

The type mpsol characterises a solution of an MP problem by associating a value to each decision variable (type mpvar) of the problem. Initialising such an object can be achieved by saving the current solution found by the optimiser (savesol or savemipsol) or by building it one variable at a time (setsol). Various routines requiring solution information support the solution object. For instance getsol may be used to evaluate an expression on a specific solution; loadmipsol and addmipsol accept this object as input. A solution might be saved into a file using writesol and the resulting file can be loaded into the optimiser with readsol. The type mpsol supports assignment and test of equality.

The type logctr

The type logctr represents either a logical expression over linear constraints or an indicator constraint (see indicator). Logical expressions can be built using standard operators (and, or, not) or with the help of the dedicated functions implies and xor. These logical constructs are handled like linear constraints: they are associated to the current problem, can be (re)defined via assignments and hidden using sethidden. Note however that logical constructs are not shown by exportprob although the mmxprs routine writeprob will report them.

If logical expressions are employed in a model, the loading of the problem into the optimizer requires the use of the helper package "advmod":

uses 'advmod'

This package is not necessary when a model uses only indicator constraints directly.

© 2001-2019 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.