Purpose 
 
 
 
  Interrupts the Optimizer algorithms. 
 
 
 
  Topic area 
 
 
 
 
  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 
 
 
 
 
  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. 
 
 
                 
                
                    © 2001-2025 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.