Xpress Nonlinear Manual This Material Is the Confidential, Proprietary, and Unpublished Property of Fair Isaac Corporation
Total Page:16
File Type:pdf, Size:1020Kb
R FICO Xpress Optimization Last update 01 May, 2018 version 33.01 FICO R Xpress Nonlinear Manual This material is the confidential, proprietary, and unpublished property of Fair Isaac Corporation. Receipt or possession of this material does not convey rights to divulge, reproduce, use, or allow others to use it without the specific written authorization of Fair Isaac Corporation and use must conform strictly to the license agreement. The information in this document is subject to change without notice. If you find any problems in this documentation, please report them to us in writing. Neither Fair Isaac Corporation nor its affiliates warrant that this documentation is error-free, nor are there any other warranties with respect to the documentation except as may be provided in the license agreement. ©1983–2018 Fair Isaac Corporation. All rights reserved. Permission to use this software and its documentation is governed by the software license agreement between the licensee and Fair Isaac Corporation (or its affiliate). Portions of the program may contain copyright of various authors and may be licensed under certain third-party licenses identified in the software, documentation, or both. In no event shall Fair Isaac Corporation or its affiliates be liable to any person for direct, indirect, special, incidental, or consequential damages, including lost profits, arising out of the use of this software and its documentation, even if Fair Isaac Corporation or its affiliates have been advised of the possibility of such damage. The rights and allocation of risk between the licensee and Fair Isaac Corporation (or its affiliates) are governed by the respective identified licenses in the software, documentation, or both. Fair Isaac Corporation and its affiliates specifically disclaim any warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The software and accompanying documentation, if any, provided hereunder is provided solely to users licensed under the Fair Isaac Software License Agreement. Fair Isaac Corporation and its affiliates have no obligation to provide maintenance, support, updates, enhancements, or modifications except as required to licensed users under the Fair Isaac Software License Agreement. FICO and Fair Isaac are trademarks or registered trademarks of Fair Isaac Corporation in the United States and may be trademarks or registered trademarks of Fair Isaac Corporation in other countries. Other product and company names herein may be trademarks of their respective owners. Xpress Nonlinear Deliverable Version: A Last Revised: 01 May, 2018 Version version 33.01 Contents I Overview1 1 Introduction 2 1.1 Mathematical programs......................................2 1.1.1 Linear programs......................................3 1.1.2 Convex quadratic programs...............................3 1.1.3 Convex quadratically constrained quadratic programs................3 1.1.4 Second order conic problems..............................3 1.1.5 General nonlinear optimization problems........................4 1.1.6 Mixed integer programs..................................4 1.2 Technology Overview.......................................4 1.2.1 The Simplex Method...................................4 1.2.2 The Logarithmic Barrier Method.............................4 1.2.3 Outer approximation schemes..............................5 1.2.4 Successive Linear Programming.............................5 1.2.5 Second Order Methods..................................5 1.2.6 Mixed Integer Solvers...................................5 1.3 API naming convention......................................5 2 The Problem 7 2.1 Problem Definition.........................................7 2.2 Problem Formulation.......................................7 3 Modeling in Mosel 9 3.1 Basic formulation.........................................9 3.2 Setting up and solving the problem............................... 10 3.3 Looking at the results....................................... 11 3.4 Parallel evaluation of Mosel user functions........................... 11 4 Modeling in Extended MPS Format 13 4.1 Basic formulation......................................... 13 4.2 Using the XSLP console-based interface............................ 17 4.3 Coefficients and terms...................................... 18 4.4 User functions........................................... 18 4.4.1 A user function in an Excel macro............................ 19 4.4.2 Extending the polygon model.............................. 19 5 The Xpress NonLinear API Functions 21 5.1 Header files............................................. 21 5.2 Initialization............................................ 21 5.3 Callbacks.............................................. 21 5.4 Creating the linear part of the problem............................. 22 5.5 Adding the non-linear part of the problem............................ 25 5.6 Adding the non-linear part of the problem using character formulae............. 27 5.7 Checking the data......................................... 28 Fair Isaac Corporation Confidential and Proprietary Information i Contents 5.8 Solving and printing the solution................................. 28 5.9 Closing the program........................................ 29 5.10 Adding initial values........................................ 29 5.11 User functions........................................... 30 5.11.1 A user function in C.................................... 30 5.11.2 Extending the polygon model.............................. 31 5.11.3 Internal user functions.................................. 32 6 The XSLP Console Program 33 6.1 The Console XSLP........................................ 33 6.1.1 The XSLP console extensions.............................. 33 6.1.2 Common features of the Xpress Optimizer and the Xpress XSLP console..... 34 II Advanced 36 7 Nonlinear Problems 37 7.1 Coefficients and terms...................................... 37 7.2 SLP variables............................................ 38 7.3 Local and global optimality.................................... 38 7.4 Convexity.............................................. 38 7.5 Converged and practical solutions................................ 39 7.6 The duals of general, nonlinear program............................ 39 8 Extended MPS file format 41 8.1 Formulae.............................................. 41 8.2 COLUMNS............................................. 42 8.3 BOUNDS.............................................. 43 8.4 SLPDATA.............................................. 43 8.4.1 CV (Character variable).................................. 43 8.4.2 DR (Determining row)................................... 44 8.4.3 EC (Enforced constraint)................................. 44 8.4.4 FR (Free variable)..................................... 44 8.4.5 FX (Fixed variable)..................................... 45 8.4.6 IV (Initial value)...................................... 45 8.4.7 LO (Lower bounded variable)............................... 45 8.4.8 Rx, Tx (Relative and absolute convergence tolerances)................ 45 8.4.9 SB (Initial step bound).................................. 46 8.4.10 UF (User function)..................................... 46 8.4.11 UP (Free variable)..................................... 47 8.4.12 WT (Explicit row weight)................................. 47 8.4.13 DL (variable specific Determining row cascade iteration Limit)............ 47 9 Xpress-SLP Solution Process 48 9.1 Analyzing the solution process.................................. 49 9.2 The initial point........................................... 49 9.3 Derivatives............................................. 49 9.3.1 Finite Differences..................................... 50 9.3.2 Symbolic Differentiation................................. 50 9.3.3 Automatic Differentiation................................. 50 9.4 Points of inflection......................................... 50 9.5 Trust regions............................................ 51 10 Handling Infeasibilities 52 10.1 Infeasibility Analysis in the Xpress Optimizer.......................... 52 10.2 Managing Infeasibility with Xpress Knitro............................ 52 Fair Isaac Corporation Confidential and Proprietary Information ii Contents 10.3 Managing Infeasibility with Xpress-SLP............................. 53 10.4 Penalty Infeasibility Breakers in XSLP.............................. 53 11 Cascading 55 11.1 Determining rows and determining columns.......................... 56 12 Convergence criteria 57 12.1 Convergence criteria........................................ 57 12.2 Convergence overview...................................... 57 12.2.1 Strict Convergence.................................... 57 12.2.2 Extended Convergence.................................. 57 12.2.3 Stopping Criterion..................................... 58 12.2.4 Step Bounding....................................... 59 12.3 Convergence: technical details.................................. 59 12.3.1 Closure tolerance (CTOL)................................. 62 12.3.2 Delta tolerance (ATOL).................................. 62 12.3.3 Matrix tolerance (MTOL)................................. 62 12.3.4 Impact tolerance (ITOL).................................. 63 12.3.5 Slack impact tolerance (STOL).............................. 64 12.3.6 Fixed variables due to determining columns smaller than threshold (FX)...... 64 12.3.7 User-defined convergence...............................