Data Model
The UML diagram in Figure outlines the relationships the XPRSmipsolpool has with some other data entities.

Figure 1.1:
Starting from the bottom right the diagram shows that the XPRSmipsolpool contains 0 or more solutions. Solutions are loaded into the MIP solution pool as a dense vector of double values. Solution vectors of varying length can be stored in the same MIP solution pool so each solution stores the number of columns nCols for the solution. When solutions are loaded they are stored with a name and an ID number. The names of the stored solutions are maintained so they are unique among the current set of stored solutions. The IDs are generated using a counter starting from 1 and are therefore unique over all solutions ever to be stored in the MIP solution pool. Note that no mapping of column names to column index values is stored with the solutions. Therefore, the solutions are stored as plain vectors of implicitly indexed values. Note that although the array of solution values Vals is represented in the Solution object in the diagram as a dense array of doubles the solutions are stored in a compact form.
Moving to the top right the diagram shows that the XPRSmipsolpool references 0 or more XPRSprob problems and that an XPRSprob references at most 1 XPRSmipsolpool. This relationship is managed through the "attaching" of problems to the MIP solution pool, which we discuss in section "Attaching problems". Note that by attaching problems it is possible, for example, to automatically capture MIP solutions from the problems as they are found by the solver.
Finally, moving to the top left the diagram shows the object defining the global entities for a problem. Clearly the XPRSprob has one of these (even if it is empty in the case of an LP problem). The XPRSmipsolpool may capture one of these from an attached problem and uses it only to detect duplicate solutions. We discuss duplicate solutions in section "Duplicate solutions".
Once the MIP solution pool contains some solutions the user can administer the stored solutions using the following functionality:-
- Solution names can be changed using the routine XPRS_msp_setsolname.
- Solutions can be deleted from the MIP solution pool by calling XPRS_msp_delsol with the ID of the solution to delete.
- A mapping between solution name and ID is provided with the routines XPRS_msp_findsolbyname and XPRS_msp_getsolname.
- Attributes of the solutions can be accessed using routines XPRS_msp_getsol, XPRS_msp_getdblattribprobsol, XPRS_msp_getintattribprobsol, XPRS_msp_getdblattribsol, XPRS_msp_getintattribsol, XPRS_msp_getdblattribprob, XPRS_msp_getintattribprob, XPRS_msp_getdblattribprobextreme and XPRS_msp_getintattribprobextreme.
- Lists of solution IDs can be generated based on attributes of the solutions with respect to a given problem using the routine XPRS_msp_getsollist.
© 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.