XA - Matlab Interface

From TomWiki
Revision as of 05:52, 16 December 2010 by Per (talk | contribs) (Created page with "The XA solver is accessed via the ''tomRun'' driver routine, which calls the ''xaTL'' interface routine. The solver itself is located in the library file ''Xav14''. It is also po...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

The XA solver is accessed via the tomRun driver routine, which calls the xaTL interface routine. The solver itself is located in the library file Xav14. It is also possible to make a direct call the xaTL using the TOMLAB format, as well as a direct call to the solver interface by calling xa.

It is recommended that the TOMLAB format is used for maximum flexibility.

Table 1: The interface routines.

Function Description
xa The interface routine calls the XA library.
xaTL The interface routine called by the TOMLAB driver routine tomRun or by a direct call. This routine then calls the interface routine xa, which calls the library file Xav14

Setting XA Options

All XA control parameters are possible to set from Matlab.

Setting options using the xaControl structure

The parameters can be set as subfields in the Prob.MIP.xaControl structure. The following example shows how to set a limit on the maximum number of iterations.


Prob = mipAssign(...)     % Setup problem, see help mipAssign for more information

Prob.MIP.xaControl.ITERATION = 20000; % Setting maximum number of iterations


The maximum number of iterations can also be done through the TOMLAB parameter MaxIter:


Prob.optParam.MaxIter = 20000;

In the cases where a solver specific parameter has a corresponding TOMLAB general parameter, the latter is used only if the user has not given the solver specific parameter.

A complete description of the available XA parameters can be found in Section .

Irreducible Infeasible Sets

Irreducible Infeasible Sets (IIS) can be found with TOMLAB /XA. There are two options available to the user. The first one delivers the infeasible rows from the last simplex tableau. The second one will try to find a minimal number of constraints that need to be removed or corrected to make the model feasible. There may be more sets that the one delivered. The inputs and outputs are explained in Section .