Initializing help system before first use

# XPRSinterrupt

Purpose
Interrupts the Optimizer algorithms.
Topic area
Solution Process
Synopsis
`int XPRS_CC XPRSinterrupt(XPRSprob prob, int reason);`
Arguments

prob | The current problem.
reason | The reason for stopping. Possible reasons are:
XPRS_STOP_NONE | do not stop;
XPRS_STOP_TIMELIMIT | time limit hit;
XPRS_STOP_WORKLIMIT | work limit hit;
XPRS_STOP_CTRLC | control C hit;
XPRS_STOP_NODELIMIT | node limit hit;
XPRS_STOP_ITERLIMIT | iteration limit hit;
XPRS_STOP_MIPGAP | MIP gap is sufficiently small;
XPRS_STOP_SOLLIMIT | solution limit hit;
XPRS_STOP_USER | user interrupt;
XPRS_STOP_NEXTOBJECTIVE | stop the current solve, but continue with solving the next objective (see below);
>= 1000 | user defined value.

Example
See also examples els_managedcuts.c, els_usercuts.c, knapsack.c, mostviolated.c, roundint.c, savesol.c, solenum.c, tsp.c.
Further information
1. The XPRSinterrupt command can be called from any callback.
2. The range of values below 1000 is reserved for future extension. The behavior of the function is undefined if reason is smaller than 1000 and not one of the values listed above.
3. When solving a multi-objective problem, calling XPRSinterrupt with NEXTOBJECTIVE instructs the Optimizer to accept the current solution and proceed with solving the next objective. For example, this can be used in the checktime callback to implement a different time limit for each objective. If no solution has been found, no objective fixing will take place. The SOLVESTATUS attribute reflects the status of the final solve: in particular, if the final objective was solved to optimality then SOLVESTATUS will be COMPLETED, even if earlier objectives were interrupted. If a single-objective solve, or the final solve of a multi-objective problem, is interrupted with status NEXTOBJECTIVE, then SOLVESTATUS will be INTERRUPTED and STOPSTATUS will be NEXTOBJECTIVE.
Related topics
None.
Parent Topic Console and Library Functions

© 2001-2026 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.