Initializing help system before first use

Step bounding


Type: Programming
Rating: 2 (easy-medium)
Description: Nonlinear example demonstrating behaviour of problems with unbounded first order approximations
File(s): xnlp_unboundedlinearization.mos


xnlp_unboundedlinearization.mos
! XNLP example demonstrating behaviour of problems with unbounded first order 
! approximations
!
! In this example a simple but unconstraint optimization is solved from various 
! starting points and solves, demonstrating their convergence properties on such 
! problems.
!
! This example demonstrates a particular non-linear optimization concept as related 
! to Xpress NonLinear.
! The version of the example is for Xpress 7.5.
!
!  (c) 2013 Fair Isaac Corporation
!       author: Zsolt Csizmadia
model mmxnlp_nlp_duals
uses "mmxnlp"; 

declarations
 x: mpvar
end-declarations

x is_free

! In this example, notice the different number of iterations made by the solvers, 
! having a log available is helpful
setparam("xnlp_verbose",1)

! Start solving using a a first order method
! Notice the log stating that step bounds are enforced
! and nnotice the large number of iterations
setparam("xnlp_solver",XNLP_SOLVER_XSLP)
setinitval(x,10)
minimize(x^4)

! Resolve with second order methods
setparam("xnlp_solver",XNLP_SOLVER_KNITRO)
minimize(x^4)

! Lets restart from the optimal solution
! SLP's perturbation features means it will first move away from the optimum,
! and then work it's way back
setparam("xnlp_solver",XNLP_SOLVER_XSLP)
setinitval(x,0.0)
minimize(x^4)

! Knitro will behave as expected: started from the optimum, and makes no moves
setparam("xnlp_solver",XNLP_SOLVER_KNITRO)
minimize(x^4)

end-model