summaryrefslogtreecommitdiff
path: root/help/en_US/scilab_en_US_help
diff options
context:
space:
mode:
Diffstat (limited to 'help/en_US/scilab_en_US_help')
-rw-r--r--help/en_US/scilab_en_US_help/JavaHelpSearch/DOCSbin9489 -> 11411 bytes
-rw-r--r--help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TABbin958 -> 1085 bytes
-rw-r--r--help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETSbin362 -> 423 bytes
-rw-r--r--help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONSbin60747 -> 91418 bytes
-rw-r--r--help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA2
-rw-r--r--help/en_US/scilab_en_US_help/JavaHelpSearch/TMAPbin18432 -> 20480 bytes
-rw-r--r--help/en_US/scilab_en_US_help/ScilabCaution.pngbin513 -> 507 bytes
-rw-r--r--help/en_US/scilab_en_US_help/ScilabEdit.pngbin414 -> 413 bytes
-rw-r--r--help/en_US/scilab_en_US_help/ScilabImportant.pngbin637 -> 617 bytes
-rw-r--r--help/en_US/scilab_en_US_help/ScilabNote.pngbin687 -> 663 bytes
-rw-r--r--help/en_US/scilab_en_US_help/ScilabTip.pngbin687 -> 663 bytes
-rw-r--r--help/en_US/scilab_en_US_help/ScilabWarning.pngbin513 -> 507 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_1.pngbin0 -> 3675 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_2.pngbin0 -> 12221 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_3.pngbin0 -> 1893 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_4.pngbin0 -> 5815 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_5.pngbin0 -> 12275 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_6.pngbin0 -> 11353 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_1.pngbin4343 -> 170 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_10.pngbin0 -> 1185 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_2.pngbin0 -> 170 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_3.pngbin0 -> 4910 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_4.pngbin0 -> 9479 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_5.pngbin0 -> 1361 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_6.pngbin0 -> 742 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_7.pngbin0 -> 842 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_8.pngbin0 -> 1108 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_9.pngbin0 -> 1107 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_1.pngbin1792 -> 214 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_2.pngbin0 -> 268 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_3.pngbin0 -> 252 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_4.pngbin0 -> 251 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_5.pngbin0 -> 1955 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_6.pngbin0 -> 2414 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_7.pngbin0 -> 3922 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_8.pngbin0 -> 2734 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_1.pngbin3781 -> 3880 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_10.pngbin0 -> 3386 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_11.pngbin0 -> 3493 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_12.pngbin0 -> 2742 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_2.pngbin0 -> 3420 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_3.pngbin0 -> 742 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_4.pngbin0 -> 842 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_5.pngbin0 -> 898 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_6.pngbin0 -> 3386 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_7.pngbin0 -> 3493 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_8.pngbin0 -> 2742 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_9.pngbin0 -> 898 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_1.pngbin5367 -> 4880 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_2.pngbin1295 -> 1297 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_3.pngbin0 -> 4342 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_4.pngbin0 -> 1361 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_5.pngbin0 -> 742 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_6.pngbin0 -> 842 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_7.pngbin0 -> 898 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_8.pngbin0 -> 1107 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_9.pngbin0 -> 1185 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_1.pngbin714 -> 729 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_2.pngbin0 -> 983 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_3.pngbin0 -> 1486 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_4.pngbin0 -> 737 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_5.pngbin0 -> 1486 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_6.pngbin0 -> 737 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_1.pngbin0 -> 214 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_2.pngbin0 -> 268 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_3.pngbin0 -> 252 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_4.pngbin0 -> 251 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_5.pngbin0 -> 1954 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_6.pngbin0 -> 5787 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_7.pngbin0 -> 4291 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_1.pngbin0 -> 4468 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_2.pngbin0 -> 4960 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_3.pngbin0 -> 742 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_4.pngbin0 -> 842 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_5.pngbin0 -> 4639 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_6.pngbin0 -> 7448 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_7.pngbin0 -> 4825 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_1.pngbin0 -> 5072 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_2.pngbin0 -> 1297 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_3.pngbin0 -> 5838 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_4.pngbin0 -> 1361 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_5.pngbin0 -> 742 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_6.pngbin0 -> 842 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_7.pngbin0 -> 898 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_8.pngbin0 -> 1107 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_9.pngbin0 -> 1185 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminunc.xml_1.pngbin0 -> 1254 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminunc.xml_2.pngbin0 -> 2392 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminunc.xml_3.pngbin0 -> 3024 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intfminunc.xml_4.pngbin0 -> 2222 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_1.pngbin0 -> 3972 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_2.pngbin0 -> 4786 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_3.pngbin0 -> 1662 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_4.pngbin0 -> 1901 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_5.pngbin0 -> 1865 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_6.pngbin0 -> 5127 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_7.pngbin0 -> 6590 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_1.pngbin2509 -> 2750 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_2.pngbin0 -> 4262 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_3.pngbin0 -> 807 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_4.pngbin0 -> 1097 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_5.pngbin0 -> 4608 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_6.pngbin0 -> 4223 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_1.pngbin3046 -> 2557 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_2.pngbin0 -> 6450 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_3.pngbin0 -> 791 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_4.pngbin0 -> 1240 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_5.pngbin0 -> 2355 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_lsqnonlin.xml_1.pngbin1932 -> 1310 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_lsqnonlin.xml_2.pngbin0 -> 4006 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_lsqnonlin.xml_3.pngbin0 -> 878 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_lsqnonneg.xml_1.pngbin1456 -> 1190 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_lsqnonneg.xml_2.pngbin0 -> 4529 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_1.pngbin3304 -> 3477 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_2.pngbin0 -> 3701 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_3.pngbin0 -> 3633 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_4.pngbin0 -> 3633 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_5.pngbin0 -> 3807 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_6.pngbin0 -> 3748 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_1.pngbin3148 -> 3602 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_2.pngbin0 -> 3179 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_3.pngbin0 -> 1420 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_4.pngbin0 -> 1905 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_5.pngbin0 -> 1865 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_6.pngbin0 -> 2399 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_7.pngbin0 -> 6590 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_symphony.xml_1.pngbin3383 -> 3519 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_symphony.xml_2.pngbin0 -> 12073 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_symphony.xml_3.pngbin0 -> 6509 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_1.pngbin3140 -> 3205 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_2.pngbin0 -> 12221 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_3.pngbin0 -> 1893 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_4.pngbin0 -> 5812 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_5.pngbin0 -> 12275 bytes
-rw-r--r--help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_6.pngbin0 -> 11353 bytes
-rw-r--r--help/en_US/scilab_en_US_help/cbcintlinprog.html240
-rw-r--r--help/en_US/scilab_en_US_help/fgoalattain.html345
-rw-r--r--help/en_US/scilab_en_US_help/fminbnd.html139
-rw-r--r--help/en_US/scilab_en_US_help/fmincon.html331
-rw-r--r--help/en_US/scilab_en_US_help/fminimax.html279
-rw-r--r--help/en_US/scilab_en_US_help/fminunc.html142
-rw-r--r--help/en_US/scilab_en_US_help/index.html44
-rw-r--r--help/en_US/scilab_en_US_help/intfminbnd.html178
-rw-r--r--help/en_US/scilab_en_US_help/intfmincon.html339
-rw-r--r--help/en_US/scilab_en_US_help/intfminimax.html364
-rw-r--r--help/en_US/scilab_en_US_help/intfminunc.html173
-rw-r--r--help/en_US/scilab_en_US_help/intqpipopt.html267
-rw-r--r--help/en_US/scilab_en_US_help/jhelpmap.jhm10
-rw-r--r--help/en_US/scilab_en_US_help/jhelptoc.xml10
-rw-r--r--help/en_US/scilab_en_US_help/linprog.html138
-rw-r--r--help/en_US/scilab_en_US_help/lsqlin.html247
-rw-r--r--help/en_US/scilab_en_US_help/lsqnonlin.html125
-rw-r--r--help/en_US/scilab_en_US_help/lsqnonneg.html100
-rw-r--r--help/en_US/scilab_en_US_help/qpipopt.html201
-rw-r--r--help/en_US/scilab_en_US_help/qpipoptmat.html216
-rw-r--r--help/en_US/scilab_en_US_help/section_016165dcad2b2229387faee34442c3dd.html285
-rw-r--r--help/en_US/scilab_en_US_help/section_2122a46e06605359e022857633f38a15.html358
-rw-r--r--help/en_US/scilab_en_US_help/section_2f30ec7805b02b8760d8add3187208be.html85
-rw-r--r--help/en_US/scilab_en_US_help/section_44e1f57c5225357b5fe53cb5fad967e9.html394
-rw-r--r--help/en_US/scilab_en_US_help/section_5216548269879268a26b5bc137b91f5d.html85
-rw-r--r--help/en_US/scilab_en_US_help/section_5fc7ef02a133896efbd190355314d3fc.html285
-rw-r--r--help/en_US/scilab_en_US_help/section_6c2e5edddf1b5b09c56de3bdc2fc0d64.html285
-rw-r--r--help/en_US/scilab_en_US_help/section_7f9be39cf912aa1e283b946d86a6bd7c.html357
-rw-r--r--help/en_US/scilab_en_US_help/section_8b595dffcf2928adea151d3ba6836faa.html394
-rw-r--r--help/en_US/scilab_en_US_help/section_c78c9c5b46dbea583df3c010a77e5758.html285
-rw-r--r--help/en_US/scilab_en_US_help/sym_addConstr.html10
-rw-r--r--help/en_US/scilab_en_US_help/sym_addVar.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_close.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_deleteConstrs.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_deleteVars.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getConstrActivity.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getConstrLower.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getConstrRange.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getConstrSense.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getConstrUpper.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getDblParam.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getInfinity.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getIntParam.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getIterCount.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getMatrix.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getNumConstr.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getNumElements.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getNumVar.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getObjCoeff.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getObjSense.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getObjVal.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getPrimalBound.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getRhs.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getStatus.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getStrParam.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getVarLower.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getVarSoln.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_getVarUpper.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_isAbandoned.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_isBinary.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_isContinuous.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_isEnvActive.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_isInfeasible.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_isInteger.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_isIterLimitReached.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_isOptimal.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_isTargetGapAchieved.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_isTimeLimitReached.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_loadMPS.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_loadProblem.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_loadProblemBasic.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_open.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_resetParams.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_setConstrLower.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_setConstrType.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_setConstrUpper.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_setContinuous.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_setDblParam.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_setIntParam.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_setInteger.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_setObjCoeff.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_setObjSense.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_setPrimalBound.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_setStrParam.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_setVarLower.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_setVarSoln.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_setVarUpper.html6
-rw-r--r--help/en_US/scilab_en_US_help/sym_solve.html6
-rw-r--r--help/en_US/scilab_en_US_help/symphony.html116
-rw-r--r--help/en_US/scilab_en_US_help/symphonymat.html286
225 files changed, 6336 insertions, 1121 deletions
diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS b/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS
index b43f2ae..326b5fa 100644
--- a/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS
+++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB b/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB
index 35ed0b4..73a30c4 100644
--- a/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB
+++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS b/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS
index ba26c01..4bf7996 100644
--- a/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS
+++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS b/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS
index cd3a00e..a9e0ecc 100644
--- a/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS
+++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA b/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA
index 51ab351..753c46a 100644
--- a/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA
+++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA
@@ -1,2 +1,2 @@
JavaSearch 1.0
-TMAP bs=2048 rt=1 fl=-1 id1=1539 id2=1
+TMAP bs=2048 rt=1 fl=-1 id1=1665 id2=1
diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP b/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP
index cc3bed1..ce2c60e 100644
--- a/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP
+++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/ScilabCaution.png b/help/en_US/scilab_en_US_help/ScilabCaution.png
index 8edb56e..231159a 100644
--- a/help/en_US/scilab_en_US_help/ScilabCaution.png
+++ b/help/en_US/scilab_en_US_help/ScilabCaution.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/ScilabEdit.png b/help/en_US/scilab_en_US_help/ScilabEdit.png
index e139988..ff0cca7 100644
--- a/help/en_US/scilab_en_US_help/ScilabEdit.png
+++ b/help/en_US/scilab_en_US_help/ScilabEdit.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/ScilabImportant.png b/help/en_US/scilab_en_US_help/ScilabImportant.png
index 3b51020..73931b2 100644
--- a/help/en_US/scilab_en_US_help/ScilabImportant.png
+++ b/help/en_US/scilab_en_US_help/ScilabImportant.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/ScilabNote.png b/help/en_US/scilab_en_US_help/ScilabNote.png
index ed46c3e..6607ece 100644
--- a/help/en_US/scilab_en_US_help/ScilabNote.png
+++ b/help/en_US/scilab_en_US_help/ScilabNote.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/ScilabTip.png b/help/en_US/scilab_en_US_help/ScilabTip.png
index ed46c3e..6607ece 100644
--- a/help/en_US/scilab_en_US_help/ScilabTip.png
+++ b/help/en_US/scilab_en_US_help/ScilabTip.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/ScilabWarning.png b/help/en_US/scilab_en_US_help/ScilabWarning.png
index 8edb56e..231159a 100644
--- a/help/en_US/scilab_en_US_help/ScilabWarning.png
+++ b/help/en_US/scilab_en_US_help/ScilabWarning.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_1.png b/help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_1.png
new file mode 100644
index 0000000..e3eba5b
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_1.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_2.png b/help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_2.png
new file mode 100644
index 0000000..29943d1
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_2.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_3.png b/help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_3.png
new file mode 100644
index 0000000..dbf16d2
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_3.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_4.png b/help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_4.png
new file mode 100644
index 0000000..82ce2cc
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_4.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_5.png b/help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_5.png
new file mode 100644
index 0000000..aae7855
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_5.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_6.png b/help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_6.png
new file mode 100644
index 0000000..68e6bb8
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_cbcintlinprog.xml_6.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_1.png b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_1.png
index 7d7a4b6..3573add 100644
--- a/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_1.png
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_1.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_10.png b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_10.png
new file mode 100644
index 0000000..94584dd
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_10.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_2.png b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_2.png
new file mode 100644
index 0000000..3573add
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_2.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_3.png b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_3.png
new file mode 100644
index 0000000..08e675c
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_3.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_4.png b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_4.png
new file mode 100644
index 0000000..b0987d2
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_4.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_5.png b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_5.png
new file mode 100644
index 0000000..2de0e76
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_5.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_6.png b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_6.png
new file mode 100644
index 0000000..52fa7ee
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_6.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_7.png b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_7.png
new file mode 100644
index 0000000..3c07cf4
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_7.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_8.png b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_8.png
new file mode 100644
index 0000000..6f85d47
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_8.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_9.png b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_9.png
new file mode 100644
index 0000000..0e1062e
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_9.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_1.png b/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_1.png
index 2634ce3..f43af1e 100644
--- a/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_1.png
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_1.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_2.png b/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_2.png
new file mode 100644
index 0000000..347aa1a
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_2.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_3.png b/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_3.png
new file mode 100644
index 0000000..df17abe
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_3.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_4.png b/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_4.png
new file mode 100644
index 0000000..7ab785c
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_4.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_5.png b/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_5.png
new file mode 100644
index 0000000..516ce98
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_5.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_6.png b/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_6.png
new file mode 100644
index 0000000..645166c
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_6.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_7.png b/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_7.png
new file mode 100644
index 0000000..8a5be87
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_7.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_8.png b/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_8.png
new file mode 100644
index 0000000..319c683
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_8.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_1.png b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_1.png
index 07910ed..695054f 100644
--- a/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_1.png
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_1.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_10.png b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_10.png
new file mode 100644
index 0000000..7614aa9
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_10.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_11.png b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_11.png
new file mode 100644
index 0000000..e9dc5f0
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_11.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_12.png b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_12.png
new file mode 100644
index 0000000..1ecc0e6
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_12.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_2.png b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_2.png
new file mode 100644
index 0000000..1d274b6
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_2.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_3.png b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_3.png
new file mode 100644
index 0000000..52fa7ee
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_3.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_4.png b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_4.png
new file mode 100644
index 0000000..3c07cf4
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_4.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_5.png b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_5.png
new file mode 100644
index 0000000..389e82b
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_5.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_6.png b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_6.png
new file mode 100644
index 0000000..7614aa9
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_6.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_7.png b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_7.png
new file mode 100644
index 0000000..e9dc5f0
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_7.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_8.png b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_8.png
new file mode 100644
index 0000000..1ecc0e6
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_8.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_9.png b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_9.png
new file mode 100644
index 0000000..389e82b
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_9.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_1.png b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_1.png
index cc11a01..751e051 100644
--- a/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_1.png
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_1.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_2.png b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_2.png
index 6a9edc4..e1c7e77 100644
--- a/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_2.png
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_2.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_3.png b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_3.png
new file mode 100644
index 0000000..699caf3
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_3.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_4.png b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_4.png
new file mode 100644
index 0000000..2de0e76
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_4.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_5.png b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_5.png
new file mode 100644
index 0000000..52fa7ee
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_5.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_6.png b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_6.png
new file mode 100644
index 0000000..3c07cf4
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_6.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_7.png b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_7.png
new file mode 100644
index 0000000..389e82b
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_7.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_8.png b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_8.png
new file mode 100644
index 0000000..0e1062e
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_8.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_9.png b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_9.png
new file mode 100644
index 0000000..94584dd
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_9.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_1.png b/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_1.png
index 5250091..6b1b89b 100644
--- a/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_1.png
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_1.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_2.png b/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_2.png
new file mode 100644
index 0000000..b99b4a7
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_2.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_3.png b/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_3.png
new file mode 100644
index 0000000..db11a4b
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_3.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_4.png b/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_4.png
new file mode 100644
index 0000000..ee38156
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_4.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_5.png b/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_5.png
new file mode 100644
index 0000000..db11a4b
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_5.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_6.png b/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_6.png
new file mode 100644
index 0000000..ee38156
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_6.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_1.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_1.png
new file mode 100644
index 0000000..f43af1e
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_1.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_2.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_2.png
new file mode 100644
index 0000000..347aa1a
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_2.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_3.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_3.png
new file mode 100644
index 0000000..df17abe
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_3.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_4.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_4.png
new file mode 100644
index 0000000..7ab785c
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_4.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_5.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_5.png
new file mode 100644
index 0000000..f6faa17
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_5.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_6.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_6.png
new file mode 100644
index 0000000..bf69434
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_6.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_7.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_7.png
new file mode 100644
index 0000000..43815d0
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminbnd.xml_7.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_1.png b/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_1.png
new file mode 100644
index 0000000..11677d5
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_1.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_2.png b/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_2.png
new file mode 100644
index 0000000..bf40b5e
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_2.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_3.png b/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_3.png
new file mode 100644
index 0000000..52fa7ee
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_3.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_4.png b/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_4.png
new file mode 100644
index 0000000..3c07cf4
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_4.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_5.png b/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_5.png
new file mode 100644
index 0000000..ad7b9b2
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_5.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_6.png b/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_6.png
new file mode 100644
index 0000000..392908b
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_6.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_7.png b/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_7.png
new file mode 100644
index 0000000..383d637
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfmincon.xml_7.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_1.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_1.png
new file mode 100644
index 0000000..8521bee
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_1.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_2.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_2.png
new file mode 100644
index 0000000..e1c7e77
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_2.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_3.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_3.png
new file mode 100644
index 0000000..6c28cfe
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_3.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_4.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_4.png
new file mode 100644
index 0000000..2de0e76
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_4.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_5.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_5.png
new file mode 100644
index 0000000..52fa7ee
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_5.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_6.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_6.png
new file mode 100644
index 0000000..3c07cf4
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_6.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_7.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_7.png
new file mode 100644
index 0000000..389e82b
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_7.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_8.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_8.png
new file mode 100644
index 0000000..0e1062e
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_8.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_9.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_9.png
new file mode 100644
index 0000000..94584dd
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminimax.xml_9.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminunc.xml_1.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminunc.xml_1.png
new file mode 100644
index 0000000..b97584c
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminunc.xml_1.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminunc.xml_2.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminunc.xml_2.png
new file mode 100644
index 0000000..39a6e2f
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminunc.xml_2.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminunc.xml_3.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminunc.xml_3.png
new file mode 100644
index 0000000..46c3e5e
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminunc.xml_3.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intfminunc.xml_4.png b/help/en_US/scilab_en_US_help/_LaTeX_intfminunc.xml_4.png
new file mode 100644
index 0000000..b4d1474
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intfminunc.xml_4.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_1.png b/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_1.png
new file mode 100644
index 0000000..469a717
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_1.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_2.png b/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_2.png
new file mode 100644
index 0000000..61c7608
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_2.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_3.png b/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_3.png
new file mode 100644
index 0000000..6b4b847
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_3.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_4.png b/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_4.png
new file mode 100644
index 0000000..f81313e
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_4.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_5.png b/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_5.png
new file mode 100644
index 0000000..9cb77a0
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_5.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_6.png b/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_6.png
new file mode 100644
index 0000000..861e917
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_6.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_7.png b/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_7.png
new file mode 100644
index 0000000..443d6ef
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_intqpipopt.xml_7.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_1.png b/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_1.png
index 1dd1d5e..c1b079b 100644
--- a/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_1.png
+++ b/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_1.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_2.png b/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_2.png
new file mode 100644
index 0000000..084de0b
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_2.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_3.png b/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_3.png
new file mode 100644
index 0000000..27dcd00
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_3.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_4.png b/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_4.png
new file mode 100644
index 0000000..2d6a863
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_4.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_5.png b/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_5.png
new file mode 100644
index 0000000..25cab89
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_5.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_6.png b/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_6.png
new file mode 100644
index 0000000..58414d6
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_6.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_1.png b/help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_1.png
index 9015755..0a3d488 100644
--- a/help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_1.png
+++ b/help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_1.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_2.png b/help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_2.png
new file mode 100644
index 0000000..4cd3433
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_2.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_3.png b/help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_3.png
new file mode 100644
index 0000000..4aae157
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_3.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_4.png b/help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_4.png
new file mode 100644
index 0000000..a1fc4ef
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_4.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_5.png b/help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_5.png
new file mode 100644
index 0000000..d89c545
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_5.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_lsqnonlin.xml_1.png b/help/en_US/scilab_en_US_help/_LaTeX_lsqnonlin.xml_1.png
index 02e04b1..269e11b 100644
--- a/help/en_US/scilab_en_US_help/_LaTeX_lsqnonlin.xml_1.png
+++ b/help/en_US/scilab_en_US_help/_LaTeX_lsqnonlin.xml_1.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_lsqnonlin.xml_2.png b/help/en_US/scilab_en_US_help/_LaTeX_lsqnonlin.xml_2.png
new file mode 100644
index 0000000..563f915
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_lsqnonlin.xml_2.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_lsqnonlin.xml_3.png b/help/en_US/scilab_en_US_help/_LaTeX_lsqnonlin.xml_3.png
new file mode 100644
index 0000000..ca95a51
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_lsqnonlin.xml_3.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_lsqnonneg.xml_1.png b/help/en_US/scilab_en_US_help/_LaTeX_lsqnonneg.xml_1.png
index 3dd57aa..803b4a7 100644
--- a/help/en_US/scilab_en_US_help/_LaTeX_lsqnonneg.xml_1.png
+++ b/help/en_US/scilab_en_US_help/_LaTeX_lsqnonneg.xml_1.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_lsqnonneg.xml_2.png b/help/en_US/scilab_en_US_help/_LaTeX_lsqnonneg.xml_2.png
new file mode 100644
index 0000000..8516499
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_lsqnonneg.xml_2.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_1.png b/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_1.png
index e2fbbde..7e6a426 100644
--- a/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_1.png
+++ b/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_1.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_2.png b/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_2.png
new file mode 100644
index 0000000..073db6b
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_2.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_3.png b/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_3.png
new file mode 100644
index 0000000..dcb1313
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_3.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_4.png b/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_4.png
new file mode 100644
index 0000000..dcb1313
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_4.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_5.png b/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_5.png
new file mode 100644
index 0000000..bffaa88
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_5.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_6.png b/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_6.png
new file mode 100644
index 0000000..9bb0bd4
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_6.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_1.png b/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_1.png
index 3846115..de306de 100644
--- a/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_1.png
+++ b/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_1.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_2.png b/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_2.png
new file mode 100644
index 0000000..65de87d
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_2.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_3.png b/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_3.png
new file mode 100644
index 0000000..9e2ea9e
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_3.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_4.png b/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_4.png
new file mode 100644
index 0000000..8d6bca1
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_4.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_5.png b/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_5.png
new file mode 100644
index 0000000..9cb77a0
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_5.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_6.png b/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_6.png
new file mode 100644
index 0000000..08bcfd8
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_6.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_7.png b/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_7.png
new file mode 100644
index 0000000..443d6ef
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_7.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_symphony.xml_1.png b/help/en_US/scilab_en_US_help/_LaTeX_symphony.xml_1.png
index 9155e8f..54149b0 100644
--- a/help/en_US/scilab_en_US_help/_LaTeX_symphony.xml_1.png
+++ b/help/en_US/scilab_en_US_help/_LaTeX_symphony.xml_1.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_symphony.xml_2.png b/help/en_US/scilab_en_US_help/_LaTeX_symphony.xml_2.png
new file mode 100644
index 0000000..e9a2fd1
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_symphony.xml_2.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_symphony.xml_3.png b/help/en_US/scilab_en_US_help/_LaTeX_symphony.xml_3.png
new file mode 100644
index 0000000..fd99400
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_symphony.xml_3.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_1.png b/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_1.png
index 9c2039f..2958311 100644
--- a/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_1.png
+++ b/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_1.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_2.png b/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_2.png
new file mode 100644
index 0000000..29943d1
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_2.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_3.png b/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_3.png
new file mode 100644
index 0000000..dbf16d2
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_3.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_4.png b/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_4.png
new file mode 100644
index 0000000..e9cfddd
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_4.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_5.png b/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_5.png
new file mode 100644
index 0000000..aae7855
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_5.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_6.png b/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_6.png
new file mode 100644
index 0000000..68e6bb8
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_6.png
Binary files differ
diff --git a/help/en_US/scilab_en_US_help/cbcintlinprog.html b/help/en_US/scilab_en_US_help/cbcintlinprog.html
new file mode 100644
index 0000000..3ee12ea
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/cbcintlinprog.html
@@ -0,0 +1,240 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cbcintlinprog</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">&lt;&lt; FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="fgoalattain.html">fgoalattain &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; cbcintlinprog</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cbcintlinprog</h1>
+ <p class="refpurpose">Solves a mixed integer linear programming constrained optimization problem in intlinprog format.</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">xopt</span><span class="default"> = </span><span class="functionid">cbcintlinprog</span><span class="default">(</span><span class="default">c</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">cbcintlinprog</span><span class="default">(</span><span class="default">c</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">cbcintlinprog</span><span class="default">(</span><span class="default">c</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">cbcintlinprog</span><span class="default">(</span><span class="default">c</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">options</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">cbcintlinprog</span><span class="default">(</span>&#0039;<span class="default">path_to_mps_file</span>&#0039;<span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">cbcintlinprog</span><span class="default">(</span>&#0039;<span class="default">path_to_mps_file</span>&#0039;<span class="default">,</span><span class="default">options</span><span class="default">)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">status</span><span class="default">,</span><span class="default">output</span><span class="default">] = </span><span class="functionid">cbcintlinprog</span><span class="default">( ... )</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Input Parameters</h3>
+ <dl><dt><span class="term">c :</span>
+ <dd><p class="para">a vector of double, contains coefficients of the variables in the objective</p></dd></dt>
+ <dt><span class="term">intcon :</span>
+ <dd><p class="para">Vector of integer constraints, specified as a vector of positive integers. The values in intcon indicate the components of the decision variable x that are integer-valued. intcon has values from 1 through number of variable.</p></dd></dt>
+ <dt><span class="term">A :</span>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear inequality constraints of size (m X n) where &#0039;m&#0039; is the number of linear inequality constraints.</p></dd></dt>
+ <dt><span class="term">b :</span>
+ <dd><p class="para">A vector of doubles, related to &#0039;A&#0039; and containing the the Right hand side equation of the linear inequality constraints of size (m X 1).</p></dd></dt>
+ <dt><span class="term">Aeq :</span>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear equality constraints of size (m1 X n) where &#0039;m1&#0039; is the number of linear equality constraints.</p></dd></dt>
+ <dt><span class="term">beq :</span>
+ <dd><p class="para">A vector of doubles, related to &#0039;Aeq&#0039; and containing the the Right hand side equation of the linear equality constraints of size (m1 X 1).</p></dd></dt>
+ <dt><span class="term">lb :</span>
+ <dd><p class="para">A vector of doubles, containing the lower bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
+ <dt><span class="term">ub :</span>
+ <dd><p class="para">A vector of doubles, containing the upper bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
+ <dt><span class="term">options :</span>
+ <dd><p class="para">A list, containing the option for user to specify. See below for details.</p></dd></dt></dl></div>
+<div class="refsection"><h3 class="title">Outputs</h3>
+ <dl><dt><span class="term">xopt :</span>
+ <dd><p class="para">A vector of doubles, containing the computed solution of the optimization problem.</p></dd></dt>
+ <dt><span class="term">fopt :</span>
+ <dd><p class="para">A double, containing the the function value at x.</p></dd></dt>
+ <dt><span class="term">status :</span>
+ <dd><p class="para">An integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
+ <dt><span class="term">output :</span>
+ <dd><p class="para">A structure, containing the information about the optimization. See below for details.</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Search the minimum or maximum of a constrained mixed integer linear programming optimization problem specified by :</p>
+ <p class="para"><span><img src='./_LaTeX_cbcintlinprog.xml_1.png' style='position:relative;top:51px;width:270px;height:110px'/></span></p>
+ <p class="para">CBC, an optimization library written in C++, is used for solving the linear programming problems.</p>
+<p class="para"><h3 class="title">Options</h3>
+The options allow the user to set various parameters of the Optimization problem. The syntax for the options is given by:</p>
+ <p class="para">options= list(&#0034;IntegerTolerance&#0034;, [---], &#0034;MaxNodes&#0034;,[---], &#0034;MaxIter&#0034;, [---], &#0034;AllowableGap&#0034;,[---] &#0034;CpuTime&#0034;, [---],&#0034;gradobj&#0034;, &#0034;off&#0034;, &#0034;hessian&#0034;, &#0034;off&#0034; );
+<ul class="itemizedlist"><li>IntegerTolerance : A Scalar, a number with that value of an integer is considered integer.</li>
+<li>MaxNodes : A Scalar, containing the maximum number of nodes that the solver should search.</li>
+<li>MaxTime : A scalar, specifying the maximum amount of CPU Time in seconds that the solver should take.</li>
+<li>AllowableGap : A scalar, that specifies the gap between the computed solution and the the objective value of the best known solution stop, at which the tree search can be stopped.</li></ul>
+ The default values for the various items are given as:</p>
+ <p class="para">options = list(&#0039;integertolerance&#0039;,1d-06,&#0039;maxnodes&#0039;,2147483647,&#0039;cputime&#0039;,1d10,&#0039;allowablegap&#0039;)</p>
+<p class="para">The exitflag allows the user to know the status of the optimization which is returned by OSI-CBC. The values it can take and what they indicate is described below:
+<ul class="itemizedlist"><li>0 : Optimal Solution Found</li>
+<li>1 : Converged to a point of primal infeasibility.</li>
+<li>2 : Solution Limit is reached</li>
+<li>3 : Node Limit is reached. Output may not be optimal.</li>
+<li>4 : Numerical Difficulties.</li>
+<li>5 : Maximum amount of CPU Time exceeded.</li>
+<li>6 : Continuous Solution Unbounded.</li>
+<li>7 : Converged to a point of dual infeasibility.</li></ul></p>
+ <p class="para">For more details on exitflag, see the Bonmin documentation which can be found on http://www.coin-or.org/Cbc</p>
+ <p class="para"></p></div>
+
+<p class="para">A few examples displaying the various functionalities of cbcintlinprog have been provided below. You will find a series of problems and the appropriate code snippets to solve them.</p>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Here we solve a simple objective function, subjected to three linear inequality constraints.</p>
+ <p class="para">Find x in R^8 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_cbcintlinprog.xml_2.png' style='position:relative;top:12px;width:646px;height:146px'/></span></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// Example 1:</span>
+<span class="scilabcomment">// Reference: Westerberg, Carl-Henrik, Bengt Bjorklund, and Eskil Hultman. </span><span class="scilabcomment">&#0034;</span><span class="scilabcomment">An application of mixed integer</span>
+<span class="scilabcomment">// programming in a Swedish steel mill.</span><span class="scilabcomment">&#0034;</span><span class="scilabcomment"> Interfaces 7, no. 2 (1977): 39-43. Modified acc. to requirements.</span>
+<span class="scilabid">c</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">350</span><span class="scilaboperator">*</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">330</span><span class="scilaboperator">*</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">310</span><span class="scilaboperator">*</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">280</span><span class="scilaboperator">*</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">500</span><span class="scilabdefault">,</span><span class="scilabnumber">450</span><span class="scilabdefault">,</span><span class="scilabnumber">400</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span><span class="scilabdefault">;</span>
+<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">4.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">5.5</span><span class="scilabdefault">,</span> <span class="scilabnumber">7.75</span><span class="scilabdefault">,</span> <span class="scilabnumber">3</span><span class="scilabdefault">,</span> <span class="scilabnumber">3.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">3.5</span><span class="scilabdefault">,</span><span class="scilabnumber">3.75</span><span class="scilabdefault">;</span>
+ <span class="scilabnumber">1.25</span><span class="scilabdefault">,</span><span class="scilabnumber">1.37</span><span class="scilabdefault">,</span><span class="scilabnumber">1.7</span><span class="scilabdefault">,</span><span class="scilabnumber">1.93</span><span class="scilabdefault">,</span><span class="scilabnumber">2.08</span><span class="scilabdefault">,</span><span class="scilabnumber">2.32</span><span class="scilabdefault">,</span><span class="scilabnumber">2.56</span><span class="scilabdefault">,</span><span class="scilabnumber">2.78</span><span class="scilabdefault">;</span>
+ <span class="scilabnumber">1.15</span><span class="scilabdefault">,</span><span class="scilabnumber">1.34</span><span class="scilabdefault">,</span><span class="scilabnumber">1.66</span><span class="scilabdefault">,</span><span class="scilabnumber">1.99</span><span class="scilabdefault">,</span><span class="scilabnumber">2.06</span><span class="scilabdefault">,</span><span class="scilabnumber">2.32</span><span class="scilabdefault">,</span><span class="scilabnumber">2.58</span><span class="scilabdefault">,</span><span class="scilabnumber">2.84</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">100</span> <span class="scilabdefault">,</span><span class="scilabnumber">205</span><span class="scilabdefault">,</span> <span class="scilabnumber">249</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Defining the integer constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">3</span> <span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Calling Symphony</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">status</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">cbcintlinprog</span><span class="scilabopenclose">(</span><span class="scilabid">c</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Here we build up on the previous example by adding upper and lower bounds to the variables.
+We add the following bounds to the problem specified above:</p>
+ <p class="para"><span><img src='./_LaTeX_cbcintlinprog.xml_3.png' style='position:relative;top:76px;width:125px;height:160px'/></span></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// Example 2:</span>
+<span class="scilabcomment">// Reference: Westerberg, Carl-Henrik, Bengt Bjorklund, and Eskil Hultman. </span><span class="scilabcomment">&#0034;</span><span class="scilabcomment">An application of mixed integer</span>
+<span class="scilabcomment">// programming in a Swedish steel mill.</span><span class="scilabcomment">&#0034;</span><span class="scilabcomment"> Interfaces 7, no. 2 (1977): 39-43. Modified acc. to requirements.</span>
+ <span class="scilabid">c</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">350</span><span class="scilaboperator">*</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">330</span><span class="scilaboperator">*</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">310</span><span class="scilaboperator">*</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">280</span><span class="scilaboperator">*</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">500</span><span class="scilabdefault">,</span><span class="scilabnumber">450</span><span class="scilabdefault">,</span><span class="scilabnumber">400</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span><span class="scilabdefault">;</span>
+ <span class="scilabcomment">//Inequality constraints</span>
+ <span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">4.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">5.5</span><span class="scilabdefault">,</span> <span class="scilabnumber">7.75</span><span class="scilabdefault">,</span> <span class="scilabnumber">3</span><span class="scilabdefault">,</span> <span class="scilabnumber">3.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">3.5</span><span class="scilabdefault">,</span><span class="scilabnumber">3.75</span><span class="scilabdefault">;</span>
+ <span class="scilabnumber">1.25</span><span class="scilabdefault">,</span><span class="scilabnumber">1.37</span><span class="scilabdefault">,</span><span class="scilabnumber">1.7</span><span class="scilabdefault">,</span><span class="scilabnumber">1.93</span><span class="scilabdefault">,</span><span class="scilabnumber">2.08</span><span class="scilabdefault">,</span><span class="scilabnumber">2.32</span><span class="scilabdefault">,</span><span class="scilabnumber">2.56</span><span class="scilabdefault">,</span><span class="scilabnumber">2.78</span><span class="scilabdefault">;</span>
+ <span class="scilabnumber">1.15</span><span class="scilabdefault">,</span><span class="scilabnumber">1.34</span><span class="scilabdefault">,</span><span class="scilabnumber">1.66</span><span class="scilabdefault">,</span><span class="scilabnumber">1.99</span><span class="scilabdefault">,</span><span class="scilabnumber">2.06</span><span class="scilabdefault">,</span><span class="scilabnumber">2.32</span><span class="scilabdefault">,</span><span class="scilabnumber">2.58</span><span class="scilabdefault">,</span><span class="scilabnumber">2.84</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+ <span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">100</span> <span class="scilabdefault">,</span><span class="scilabnumber">205</span><span class="scilabdefault">,</span> <span class="scilabnumber">249</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+
+ <span class="scilabcomment">// Lower Bound of variable</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">8</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Upper Bound of variables</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabconstants">%inf</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+ <span class="scilabcomment">//Integer Constraints</span>
+ <span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">3</span> <span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+ <span class="scilabcomment">// Calling Symphony</span>
+ <span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">status</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">cbcintlinprog</span><span class="scilabopenclose">(</span><span class="scilabid">c</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">In this example, we proceed to add the linear equality constraints to the objective function.</p>
+
+ <p class="para"><span><img src='./_LaTeX_cbcintlinprog.xml_4.png' style='position:relative;top:27px;width:580px;height:62px'/></span></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// Example 3:</span>
+<span class="scilabcomment">// Reference: Westerberg, Carl-Henrik, Bengt Bjorklund, and Eskil Hultman. </span><span class="scilabcomment">&#0034;</span><span class="scilabcomment">An application of mixed integer</span>
+<span class="scilabcomment">// programming in a Swedish steel mill.</span><span class="scilabcomment">&#0034;</span><span class="scilabcomment"> Interfaces 7, no. 2 (1977): 39-43. Modified acc. to requirements.</span>
+<span class="scilabid">c</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">350</span><span class="scilaboperator">*</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">330</span><span class="scilaboperator">*</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">310</span><span class="scilaboperator">*</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">280</span><span class="scilaboperator">*</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">500</span><span class="scilabdefault">,</span><span class="scilabnumber">450</span><span class="scilabdefault">,</span><span class="scilabnumber">400</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Inequality constraints</span>
+<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">4.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">5.5</span><span class="scilabdefault">,</span> <span class="scilabnumber">7.75</span><span class="scilabdefault">,</span> <span class="scilabnumber">3</span><span class="scilabdefault">,</span> <span class="scilabnumber">3.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">3.5</span><span class="scilabdefault">,</span><span class="scilabnumber">3.75</span><span class="scilabdefault">;</span>
+ <span class="scilabnumber">1.25</span><span class="scilabdefault">,</span><span class="scilabnumber">1.37</span><span class="scilabdefault">,</span><span class="scilabnumber">1.7</span><span class="scilabdefault">,</span><span class="scilabnumber">1.93</span><span class="scilabdefault">,</span><span class="scilabnumber">2.08</span><span class="scilabdefault">,</span><span class="scilabnumber">2.32</span><span class="scilabdefault">,</span><span class="scilabnumber">2.56</span><span class="scilabdefault">,</span><span class="scilabnumber">2.78</span><span class="scilabdefault">;</span>
+ <span class="scilabnumber">1.15</span><span class="scilabdefault">,</span><span class="scilabnumber">1.34</span><span class="scilabdefault">,</span><span class="scilabnumber">1.66</span><span class="scilabdefault">,</span><span class="scilabnumber">1.99</span><span class="scilabdefault">,</span><span class="scilabnumber">2.06</span><span class="scilabdefault">,</span><span class="scilabnumber">2.32</span><span class="scilabdefault">,</span><span class="scilabnumber">2.58</span><span class="scilabdefault">,</span><span class="scilabnumber">2.84</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">100</span> <span class="scilabdefault">,</span><span class="scilabnumber">205</span><span class="scilabdefault">,</span> <span class="scilabnumber">249</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Lower Bound of variable</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">8</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Upper Bound of variables</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabconstants">%inf</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Equality Constraints</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">5</span><span class="scilaboperator">*</span><span class="scilabnumber">0.05</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabnumber">0.04</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilaboperator">*</span><span class="scilabnumber">0.05</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilaboperator">*</span><span class="scilabnumber">0.03</span><span class="scilabdefault">,</span><span class="scilabnumber">0.08</span><span class="scilabdefault">,</span><span class="scilabnumber">0.07</span><span class="scilabdefault">,</span><span class="scilabnumber">0.06</span><span class="scilabdefault">,</span><span class="scilabnumber">0.03</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">5</span><span class="scilaboperator">*</span><span class="scilabnumber">0.03</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabnumber">0.03</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilaboperator">*</span><span class="scilabnumber">0.04</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilaboperator">*</span><span class="scilabnumber">0.04</span><span class="scilabdefault">,</span><span class="scilabnumber">0.06</span><span class="scilabdefault">,</span><span class="scilabnumber">0.07</span><span class="scilabdefault">,</span><span class="scilabnumber">0.08</span><span class="scilabdefault">,</span><span class="scilabnumber">0.09</span><span class="scilabdefault">;</span><span class="scilabopenclose">]</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span> <span class="scilabnumber">25</span><span class="scilabdefault">,</span> <span class="scilabnumber">1.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">1.25</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+ <span class="scilabcomment">//Integer Constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">3</span> <span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Calling CBC</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">status</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">cbcintlinprog</span><span class="scilabopenclose">(</span><span class="scilabid">c</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Primal Infeasible Problems: Find x in R^8 such that it minimizes:</p>
+ <p class="para">Find x in R^8 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_cbcintlinprog.xml_5.png' style='position:relative;top:12px;width:666px;height:146px'/></span></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// Example 4:</span>
+<span class="scilabcomment">// Reference: Westerberg, Carl-Henrik, Bengt Bjorklund, and Eskil Hultman. </span><span class="scilabcomment">&#0034;</span><span class="scilabcomment">An application of mixed integer </span>
+<span class="scilabcomment">// programming in a Swedish steel mill.</span><span class="scilabcomment">&#0034;</span><span class="scilabcomment"> Interfaces 7, no. 2 (1977): 39-43. Modified acc. to requirements.</span>
+<span class="scilabid">c</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">350</span><span class="scilaboperator">*</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">330</span><span class="scilaboperator">*</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">310</span><span class="scilaboperator">*</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">280</span><span class="scilaboperator">*</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">500</span><span class="scilabdefault">,</span><span class="scilabnumber">450</span><span class="scilabdefault">,</span><span class="scilabnumber">400</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Inequality constraints </span>
+<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">4.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">5.5</span><span class="scilabdefault">,</span> <span class="scilabnumber">7.75</span><span class="scilabdefault">,</span> <span class="scilabnumber">3</span><span class="scilabdefault">,</span> <span class="scilabnumber">3.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">3.5</span><span class="scilabdefault">,</span><span class="scilabnumber">3.75</span><span class="scilabdefault">;</span>
+ <span class="scilabnumber">1.25</span><span class="scilabdefault">,</span><span class="scilabnumber">1.37</span><span class="scilabdefault">,</span><span class="scilabnumber">1.7</span><span class="scilabdefault">,</span><span class="scilabnumber">1.93</span><span class="scilabdefault">,</span><span class="scilabnumber">2.08</span><span class="scilabdefault">,</span><span class="scilabnumber">2.32</span><span class="scilabdefault">,</span><span class="scilabnumber">2.56</span><span class="scilabdefault">,</span><span class="scilabnumber">2.78</span><span class="scilabdefault">;</span>
+ <span class="scilabnumber">1.15</span><span class="scilabdefault">,</span><span class="scilabnumber">1.34</span><span class="scilabdefault">,</span><span class="scilabnumber">1.66</span><span class="scilabdefault">,</span><span class="scilabnumber">1.99</span><span class="scilabdefault">,</span><span class="scilabnumber">2.06</span><span class="scilabdefault">,</span><span class="scilabnumber">2.32</span><span class="scilabdefault">,</span><span class="scilabnumber">2.58</span><span class="scilabdefault">,</span><span class="scilabnumber">2.84</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">26.333</span> <span class="scilabdefault">,</span><span class="scilabnumber">3.916</span> <span class="scilabdefault">,</span><span class="scilabnumber">5.249</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+ <span class="scilabcomment">//Integer Constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">3</span> <span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+
+<span class="scilabcomment">// Calling CBC</span>
+
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">status</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">cbcintlinprog</span><span class="scilabopenclose">(</span><span class="scilabid">c</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Unbounded Problems. Find x in R^8 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_cbcintlinprog.xml_6.png' style='position:relative;top:12px;width:650px;height:146px'/></span></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// Example 5:</span>
+<span class="scilabcomment">// Reference: Westerberg, Carl-Henrik, Bengt Bjorklund, and Eskil Hultman. </span><span class="scilabcomment">&#0034;</span><span class="scilabcomment">An application of mixed integer</span>
+<span class="scilabcomment">// programming in a Swedish steel mill.</span><span class="scilabcomment">&#0034;</span><span class="scilabcomment"> Interfaces 7, no. 2 (1977): 39-43. Modified acc. to requirements.</span>
+<span class="scilabid">c</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">350</span><span class="scilaboperator">*</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">330</span><span class="scilaboperator">*</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">310</span><span class="scilaboperator">*</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">280</span><span class="scilaboperator">*</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">500</span><span class="scilabdefault">,</span><span class="scilabnumber">450</span><span class="scilabdefault">,</span><span class="scilabnumber">400</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Inequality constraints</span>
+<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Equality Constraints</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">5</span><span class="scilaboperator">*</span><span class="scilabnumber">0.05</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabnumber">0.04</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilaboperator">*</span><span class="scilabnumber">0.05</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilaboperator">*</span><span class="scilabnumber">0.03</span><span class="scilabdefault">,</span><span class="scilabnumber">0.08</span><span class="scilabdefault">,</span><span class="scilabnumber">0.07</span><span class="scilabdefault">,</span><span class="scilabnumber">0.06</span><span class="scilabdefault">,</span><span class="scilabnumber">0.03</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">5</span><span class="scilaboperator">*</span><span class="scilabnumber">0.03</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabnumber">0.03</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilaboperator">*</span><span class="scilabnumber">0.04</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilaboperator">*</span><span class="scilabnumber">0.04</span><span class="scilabdefault">,</span><span class="scilabnumber">0.06</span><span class="scilabdefault">,</span><span class="scilabnumber">0.07</span><span class="scilabdefault">,</span><span class="scilabnumber">0.08</span><span class="scilabdefault">,</span><span class="scilabnumber">0.09</span><span class="scilabdefault">;</span><span class="scilabopenclose">]</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span> <span class="scilabnumber">25</span><span class="scilabdefault">,</span> <span class="scilabnumber">1.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">1.25</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+ <span class="scilabcomment">//Integer Constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">3</span> <span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Calling CBC</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">status</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">cbcintlinprog</span><span class="scilabopenclose">(</span><span class="scilabid">c</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Akshay Miterani and Pranav Deshpande</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">&lt;&lt; FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="fgoalattain.html">fgoalattain &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/help/en_US/scilab_en_US_help/fgoalattain.html b/help/en_US/scilab_en_US_help/fgoalattain.html
index 6f9a43a..5e97f2e 100644
--- a/help/en_US/scilab_en_US_help/fgoalattain.html
+++ b/help/en_US/scilab_en_US_help/fgoalattain.html
@@ -12,11 +12,11 @@
<div class="manualnavbar">
<table width="100%"><tr>
<td width="30%">
- <span class="previous"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">&lt;&lt; FOSSEE Optimization Toolbox</a></span>
+ <span class="previous"><a href="cbcintlinprog.html">&lt;&lt; cbcintlinprog</a></span>
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; fgoalattain</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; fgoalattain</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">fgoalattain</h1>
@@ -49,92 +49,78 @@
<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fval</span><span class="default">,</span><span class="default">attainfactor</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">output</span><span class="default">] = </span><span class="functionid">fgoalattain</span><span class="default">(...)</span>
<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fval</span><span class="default">,</span><span class="default">attainfactor</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">output</span><span class="default">,</span><span class="default">lambda</span><span class="default">] = </span><span class="functionid">fgoalattain</span><span class="default">(...)</span></pre></div></div>
-<div class="refsection"><h3 class="title">Parameters</h3>
+<div class="refsection"><h3 class="title">Input Parameters</h3>
<dl><dt><span class="term">fun:</span>
- <dd><p class="para">a function that accepts a vector x and returns a vector F</p></dd></dt>
+ <dd><p class="para">A function that accepts a vector x as input and returns the value of objective function at x.</p></dd></dt>
<dt><span class="term">x0 :</span>
- <dd><p class="para">a vector of double, contains initial guess of variables.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the starting values of variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
+ <dt><span class="term">goal :</span>
+ <dd><p class="para">A vector of doubles, containing the goals, which are the values the objective functions are supposed to achieve.</p></dd></dt>
+ <dt><span class="term">weights:</span>
+ <dd><p class="para">A vector of doubles, containing the weights assigned to each objective function.</p></dd></dt>
<dt><span class="term">A :</span>
- <dd><p class="para">a matrix of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.</p></dd></dt>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear inequality constraints of size (m X n) where &#0039;m&#0039; is the number of linear inequality constraints.</p></dd></dt>
<dt><span class="term">b :</span>
- <dd><p class="para">a vector of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, related to &#0039;A&#0039; and represents the linear coefficients in the linear inequality constraints of size (m X 1).</p></dd></dt>
<dt><span class="term">Aeq :</span>
- <dd><p class="para">a matrix of double, represents the linear coefficients in the equality constraints Aeqâ‹…x = beq.</p></dd></dt>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear equality constraints of size (m1 X n) where &#0039;m1&#0039; is the number of linear equality constraints.</p></dd></dt>
<dt><span class="term">beq :</span>
- <dd><p class="para">a vector of double, represents the linear coefficients in the equality constraints Aeqâ‹…x = beq.</p></dd></dt>
+ <dd><p class="para">A vector of double, vector of doubles, related to &#0039;Aeq&#0039; and represents the linear coefficients in the equality constraints of size (m1 X 1)</p></dd></dt>
<dt><span class="term">lb :</span>
- <dd><p class="para">a vector of double, contains lower bounds of the variables.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the lower bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">ub :</span>
- <dd><p class="para">a vector of double, contains upper bounds of the variables.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the upper bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">nonlcon:</span>
- <dd><p class="para">a function, the nonlinear constraints</p></dd></dt>
+ <dd><p class="para">A function, representing the Non-linear Constraints functions(both Equality and Inequality) of the problem. It is declared in such a way that non-linear inequality constraints (c), and the non-linear equality constraints (ceq) are defined as separate single row vectors.</p></dd></dt>
<dt><span class="term">options :</span>
- <dd><p class="para">a list, containing the option for user to specify. See below for details.</p></dd></dt>
- <dt><span class="term">xopt :</span>
- <dd><p class="para">a vector of double, the computed solution of the optimization problem.</p></dd></dt>
- <dt><span class="term">fopt :</span>
- <dd><p class="para">a double, the value of the function at x.</p></dd></dt>
+ <dd><p class="para">A list, containing the option for user to specify. See below for details.</p></dd></dt></dl></div>
+<div class="refsection"><h3 class="title">Outputs</h3>
+ <dl><dt><span class="term">xopt :</span>
+ <dd><p class="para">A vector of doubles, containing the computed solution of the optimization problem.</p></dd></dt>
+ <dt><span class="term">fval :</span>
+ <dd><p class="para">A vector of doubles, containing the values of the objective functions at the end of the optimization problem.</p></dd></dt>
<dt><span class="term">attainfactor:</span>
- <dd><p class="para">The amount of over- or underachievement of the goals,γ at the solution.</p></dd></dt>
+ <dd><p class="para">The amount of over or underachievement of the goals (<span><img src='./_LaTeX_fgoalattain.xml_1.png' style='position:relative;top:6px;width:13px;height:15px'/></span>) at the solution.</p></dd></dt>
<dt><span class="term">exitflag :</span>
- <dd><p class="para">The exit status. See below for details.</p></dd></dt>
+ <dd><p class="para">An integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
<dt><span class="term">output :</span>
- <dd><p class="para">The structure consist of statistics about the optimization. See below for details.</p></dd></dt>
+ <dd><p class="para">A structure, containing the information about the optimization. See below for details.</p></dd></dt>
<dt><span class="term">lambda :</span>
- <dd><p class="para">The structure consist of the Lagrange multipliers at the solution of problem. See below for details.</p></dd></dt></dl></div>
+ <dd><p class="para">A structure, containing the Lagrange multipliers of lower bound, upper bound and constraints at the optimized point. See below for details.</p></dd></dt></dl></div>
<div class="refsection"><h3 class="title">Description</h3>
- <p class="para">fgoalattain solves the goal attainment problem, which is one formulation for minimizing a multiobjective optimization problem.
-Finds the minimum of a problem specified by:
-Minimise Y such that</p>
- <p class="para"><span><img src='./_LaTeX_fgoalattain.xml_1.png' style='position:relative;top:64px;width:276px;height:136px'/></span></p>
- <p class="para">The solver makes use of fmincon to find the minimum.</p>
- <p class="para">The fgoalattain finds out the maximum value of Y for the objectives evaluated at the starting point and
-adds that as another variable to the vector x
-This is passed to the fmincon function to get the optimised value of Y
-Hence, the algorithm used mainly is &#0034;ipopt&#0034; to obtain the optimum solution
-The relations between f(x), Y, weights and goals are added as additional non-linear inequality constraints</p>
- <p class="para">The options allows the user to set various parameters of the Optimization problem.
-It should be defined as type &#0034;list&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>Syntax : options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---], &#0034;GradObj&#0034;, ---, &#0034;GradCon&#0034;, ---);</li>
-<li>MaxIter : a Scalar, containing the Maximum Number of Iteration that the solver should take.</li>
-<li>CpuTime : a Scalar, containing the Maximum amount of CPU Time that the solver should take.</li>
-<li>GradObj : a function, representing the gradient function of the Objective in Vector Form.</li>
-<li>GradCon : a function, representing the gradient of the Non-Linear Constraints (both Equality and Inequality) of the problem. It is declared in such a way that gradient of non-linear inequality constraints are defined first as a separate Matrix (cg of size m2 X n or as an empty), followed by gradient of non-linear equality constraints as a separate Matrix (ceqg of size m2 X n or as an empty) where m2 &amp; m3 are number of non-linear inequality and equality constraints respectively.</li>
-<li>Default Values : options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600]);</li></ul></p>
- <p class="para">By default, the gradient options for fminimax are turned off and and fmincon does the gradient opproximation of gattainObjfun. In case the GradObj option is off and GradConstr option is on, fminimax approximates gattainObjfun gradient using numderivative toolbox.</p>
- <p class="para">If we can provide exact gradients, we should do so since it improves the convergence speed of the optimization algorithm.</p>
- <p class="para">Furthermore, we must enable the &#0034;GradObj&#0034; option with the statement :
-<div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">minimaxOptions</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradObj</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabid">fGrad</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div>
-This will let fminimax know that the exact gradient of the objective function is known, so that it can change the calling sequence to the objective function. Note that, fGrad should be mentioned in the form of N x n where n is the number of variables, N is the number of functions in objective function.</p>
- <p class="para">The constraint function must have header :
-<div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabopenclose">[</span><span class="scilabid">c</span><span class="scilabdefault">,</span> <span class="scilabid">ceq</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">confun</span><span class="scilabopenclose">(</span><span class="scilabid">x</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div>
-where x is a n x 1 matrix of doubles, c is a 1 x nni matrix of doubles and ceq is a 1 x nne matrix of doubles (nni : number of nonlinear inequality constraints, nne : number of nonlinear equality constraints).
-On input, the variable x contains the current point and, on output, the variable c must contain the nonlinear inequality constraints and ceq must contain the nonlinear equality constraints.</p>
- <p class="para">By default, the gradient options for fminimax are turned off and and fmincon does the gradient opproximation of confun. In case the GradObj option is on and GradCons option is off, fminimax approximates confun gradient using numderivative toolbox.</p>
- <p class="para">If we can provide exact gradients, we should do so since it improves the convergence speed of the optimization algorithm.</p>
- <p class="para">Furthermore, we must enable the &#0034;GradCon&#0034; option with the statement :
-<div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">minimaxOptions</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradCon</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabid">confunGrad</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div>
-This will let fminimax know that the exact gradient of the objective function is known, so that it can change the calling sequence to the objective function.</p>
- <p class="para">The constraint derivative function must have header :
-<div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabopenclose">[</span><span class="scilabid">dc</span><span class="scilabdefault">,</span><span class="scilabid">dceq</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">confungrad</span><span class="scilabopenclose">(</span><span class="scilabid">x</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div>
-where dc is a nni x n matrix of doubles and dceq is a nne x n matrix of doubles.</p>
- <p class="para">The exitflag allows to know the status of the optimization which is given back by Ipopt.
-<ul class="itemizedlist"><li>exitflag=0 : Optimal Solution Found</li>
-<li>exitflag=1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
-<li>exitflag=2 : Maximum amount of CPU Time exceeded. Output may not be optimal.</li>
-<li>exitflag=3 : Stop at Tiny Step.</li>
-<li>exitflag=4 : Solved To Acceptable Level.</li>
-<li>exitflag=5 : Converged to a point of local infeasibility.</li></ul></p>
- <p class="para">For more details on exitflag see the ipopt documentation, go to http://www.coin-or.org/Ipopt/documentation/</p>
- <p class="para">The output data structure contains detailed informations about the optimization process.
-It has type &#0034;struct&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>output.Iterations: The number of iterations performed during the search</li>
-<li>output.Cpu_Time: The total cpu-time spend during the search</li>
-<li>output.Objective_Evaluation: The number of Objective Evaluations performed during the search</li>
-<li>output.Dual_Infeasibility: The Dual Infeasiblity of the final soution</li></ul></p>
- <p class="para">The lambda data structure contains the Lagrange multipliers at the end
-of optimization. In the current version the values are returned only when the the solution is optimal.
+ <p class="para">fgoalattain solves the goal attainment problem, which is a formulation for minimizing a multiobjective optimization problem. Find the minimum of a problem specified by:</p>
+ <p class="para">Minimise <span><img src='./_LaTeX_fgoalattain.xml_2.png' style='position:relative;top:6px;width:13px;height:15px'/></span> such that:</p>
+ <p class="para"><span><img src='./_LaTeX_fgoalattain.xml_3.png' style='position:relative;top:64px;width:214px;height:185px'/></span></p>
+ <p class="para"></p>
+ <p class="para">The solver makes use of fmincon, which uses the Ipopt solver, an optimization library written in C++, to solve the problem.</p>
+<h3 class="title">Options</h3>
+<p class="para">The options allow the user to set various parameters of the Optimization problem. The syntax for the options is given by:</p>
+ <p class="para">options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---], &#0034;GradObj&#0034;, ---, &#0034;Hessian&#0034;, ---, &#0034;GradCon&#0034;, ---);</p>
+ <p class="para">The options should be defined as type &#0034;list&#0034; and consist of the following fields:
+<ul class="itemizedlist"><li>MaxIter : A Scalar, specifying the maximum number of iterations that the solver should take.</li>
+<li>CpuTime : A Scalar, specifying the maximum amount of CPU time in seconds that the solver should take.</li>
+<li>GradObj : A function, representing the gradient function of the Objective in Vector Form.</li>
+<li>GradCon : A function, representing the gradient of the Non-Linear Constraints (both Equality and Inequality) of the problem. It is declared in such a way that gradient of non-linear inequality constraints are defined first as a separate Matrix (cg of size m2 X n or as an empty), followed by gradient of non-linear equality constraints as a separate matrix (ceqg of size m2 X n or as an empty) where m2 &amp;amp; m3 are number of non-linear inequality and equality constraints respectively.</li></ul>
+The default values for the various items are given as:</p>
+ <p class="para">options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600]);</p>
+
+ <p class="para">The exitflag allows the user to know the status of the optimization which is returned by Ipopt. The values it can take and what they indicate is described below:
+<ul class="itemizedlist"><li>0 : Optimal Solution Found</li>
+<li>1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
+<li>2 : Maximum amount of CPU Time exceeded. Output may not be optimal.</li>
+<li>3 : Stop at Tiny Step.</li>
+<li>4 : Solved To Acceptable Level.</li>
+<li>5 : Converged to a point of local infeasibility.</li></ul></p>
+ <p class="para">For more details on exitflag, see the Ipopt documentation which can be found on http://www.coin-or.org/Ipopt/documentation/</p>
+ <p class="para">The output data structure contains detailed information about the optimization process.
+It is of type &#0034;struct&#0034; and contains the following fields.
+<ul class="itemizedlist"><li>output.Iterations: The number of iterations performed.</li>
+<li>output.Cpu_Time : The total cpu-time taken.</li>
+<li>output.Objective_Evaluation: The number of Objective Evaluations performed.</li>
+<li>output.Dual_Infeasibility : The Dual Infeasiblity of the final soution.</li>
+<li>output.Message: The output message for the problem.</li></ul></p>
+ <p class="para">The lambda data structure contains the Lagrange multipliers at the end of optimization. In the current version the values are returned only when the the solution is optimal.
It has type &#0034;struct&#0034; and contains the following fields.
<ul class="itemizedlist"><li>lambda.lower: The Lagrange multipliers for the lower bound constraints.</li>
<li>lambda.upper: The Lagrange multipliers for the upper bound constraints.</li>
@@ -144,22 +130,223 @@ It has type &#0034;struct&#0034; and contains the following fields.
<li>lambda.ineqnonlin: The Lagrange multipliers for the non-linear inequality constraints.</li></ul></p>
<p class="para"></p></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f1</span><span class="scilaboperator">=</span><span class="scilabfunctionid">gattainObjfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<p class="para">A few examples displaying the various functionalities of fgoalattain have been provided below. You will find a series of problems and the appropriate code snippets to solve them.</p>
+<div class="refsection"><h3 class="title">Example</h3>
+ Here we solve a simple objective function, subjected to no constraints.
+<p class="para"><span><img src='./_LaTeX_fgoalattain.xml_4.png' style='position:relative;top:61px;width:460px;height:205px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 1:</span>
+<span class="scilabcomment">// Objective function</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f1</span><span class="scilaboperator">=</span><span class="scilabfunctionid">gattainObjfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabnumber">304</span>
<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span>
<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">18</span>
<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span>
<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">8</span>
<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The initial guess</span>
<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Specifying the goal and the weights</span>
<span class="scilabid">goal</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabid">weight</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://abs">abs</a><span class="scilabopenclose">(</span><span class="scilabid">goal</span><span class="scilabopenclose">)</span>
-<span class="scilabcomment">//gval =[- 0.0000011 -63.999998 -2.0000002 -8 3.485D-08]</span>
-<span class="scilabcomment">//z = [4 3.99]</span>
<span class="scilabcomment">//Run fgoalattain</span>
<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">attainfactor</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">fgoalattain</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">gattainObjfun</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">goal</span><span class="scilabdefault">,</span><span class="scilabid">weight</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+<div class="refsection"><h3 class="title">Example</h3>
+ We proceed to add simple linear inequality constraints.
+ <p class="para"><span><img src='./_LaTeX_fgoalattain.xml_5.png' style='position:relative;top:29px;width:225px;height:66px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 2:</span>
+<span class="scilabcomment">// Objective function</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f1</span><span class="scilaboperator">=</span><span class="scilabfunctionid">gattainObjfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabnumber">304</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">18</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">8</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The initial guess</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Specifying the goal and the weights</span>
+<span class="scilabid">goal</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">weight</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://abs">abs</a><span class="scilabopenclose">(</span><span class="scilabid">goal</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">//Linear Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Run fgoalattain</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">attainfactor</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">fgoalattain</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">gattainObjfun</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">goal</span><span class="scilabdefault">,</span><span class="scilabid">weight</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+Here we build up on the previous example by adding linear equality constraints.
+We add the following constraints to the problem specified above: <p class="para"><span><img src='./_LaTeX_fgoalattain.xml_6.png' style='position:relative;top:17px;width:134px;height:42px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 3:</span>
+<span class="scilabcomment">// Objective function</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f1</span><span class="scilaboperator">=</span><span class="scilabfunctionid">gattainObjfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabnumber">304</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">18</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">8</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The initial guess</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Specifying the goal and the weights</span>
+<span class="scilabid">goal</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">weight</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://abs">abs</a><span class="scilabopenclose">(</span><span class="scilabid">goal</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">//Linear Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear equality constraints below.</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Run fgoalattain</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">attainfactor</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">fgoalattain</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">gattainObjfun</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">goal</span><span class="scilabdefault">,</span><span class="scilabid">weight</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+In this example, we proceed to add the upper and lower bounds to the objective function.
+ <p class="para"><span><img src='./_LaTeX_fgoalattain.xml_7.png' style='position:relative;top:17px;width:145px;height:42px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 4:</span>
+<span class="scilabcomment">// Objective function</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f1</span><span class="scilaboperator">=</span><span class="scilabfunctionid">gattainObjfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabnumber">304</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">18</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">8</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The initial guess</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Specifying the goal and the weights</span>
+<span class="scilabid">goal</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">weight</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://abs">abs</a><span class="scilabopenclose">(</span><span class="scilabid">goal</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">//Linear Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear equality constraints below.</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//The upper and lower bounds for the objective function are defined in simple vectors as shown below.</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabconstants">%inf</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabcomment">//</span>
+<span class="scilabcomment">//Run fgoalattain</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">attainfactor</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">fgoalattain</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">gattainObjfun</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">goal</span><span class="scilabdefault">,</span><span class="scilabid">weight</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+
+<div class="refsection"><h3 class="title">Example</h3>
+Finally, we add the non-linear constraints to the problem. Note that there is a notable difference in the way this is done as compared to defining the linear constraints.
+ <p class="para"><span><img src='./_LaTeX_fgoalattain.xml_8.png' style='position:relative;top:22px;width:139px;height:52px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 5:</span>
+<span class="scilabcomment">// Objective function</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f1</span><span class="scilaboperator">=</span><span class="scilabfunctionid">gattainObjfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabnumber">304</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">18</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">8</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The initial guess</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Specifying the goal and the weights</span>
+<span class="scilabid">goal</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">weight</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://abs">abs</a><span class="scilabopenclose">(</span><span class="scilabid">goal</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">//Linear Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear equality constraints below.</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//The upper and lower bounds for the objective function are defined in simple vectors as shown below.</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabconstants">%inf</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabcomment">//</span>
+<span class="scilabcomment">//Nonlinear constraints are required to be defined as a single function with the inequality and equality constraints in separate vectors.</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">c</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">ceq</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">nlc</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">c</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">8</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">ceq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Run fgoalattain</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">attainfactor</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">fgoalattain</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">gattainObjfun</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">goal</span><span class="scilabdefault">,</span><span class="scilabid">weight</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabfunctionid">nlc</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">We can further enhance the functionality of fgoalattain by setting input options. We can pre-define the gradient of the objective function and/or the hessian of the lagrange function and thereby improve the speed of computation. This is elaborated on in example 6. We take the following problem, specify the gradients, and the jacobian matrix of the constraints. We also set solver parameters using the options.</p>
+<p class="para"><span><img src='./_LaTeX_fgoalattain.xml_9.png' style='position:relative;top:17px;width:205px;height:42px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 6: Using the available options</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f1</span><span class="scilaboperator">=</span><span class="scilabfunctionid">gattainObjfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabnumber">304</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">18</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">8</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The initial guess</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Specifying the goal and the weights</span>
+<span class="scilabid">goal</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">weight</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://abs">abs</a><span class="scilabopenclose">(</span><span class="scilabid">goal</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Defining gradient of myfun</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">G</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfungrad</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">G</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span> <span class="scilabnumber">4</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">48</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">40</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">6</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span> <span class="scilabnumber">3</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The nonlinear constraints and the Jacobian</span>
+<span class="scilabcomment">// matrix of the constraints</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">c</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">ceq</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">confun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Inequality constraints</span>
+<span class="scilabinputoutputargs">c</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1.5</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">10</span><span class="scilabopenclose">]</span>
+<span class="scilabcomment">// No nonlinear equality constraints</span>
+<span class="scilabinputoutputargs">ceq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// Defining gradient of confungrad</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">DC</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">DCeq</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">cgrad</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// DC(:,i) = gradient of the i-th constraint</span>
+<span class="scilabcomment">// DC = [</span>
+<span class="scilabcomment">// Dc1/Dx1 Dc1/Dx2</span>
+<span class="scilabcomment">// Dc2/Dx1 Dc2/Dx2</span>
+<span class="scilabcomment">// ]</span>
+<span class="scilabinputoutputargs">DC</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span>
+<span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span>
+<span class="scilabinputoutputargs">DCeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// Test with both gradient of objective and gradient of constraints</span>
+<span class="scilabid">Options</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">3000</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">600</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradObj</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabfunctionid">myfungrad</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradCon</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabfunctionid">cgrad</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// The initial guess</span>
+
+<span class="scilabcomment">// Run fgoalattain</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">maxfval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">fgoalattain</span><span class="scilabopenclose">(</span><span class="scilabid">myfun</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">goal</span><span class="scilabdefault">,</span><span class="scilabid">weight</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">confun</span><span class="scilabdefault">,</span> <span class="scilabid">Options</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+Infeasible Problems: Find x in R^2 such that it minimizes the objective function used above under the following constraints:
+<p class="para"><span><img src='./_LaTeX_fgoalattain.xml_10.png' style='position:relative;top:19px;width:158px;height:46px'/></span></p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 7:</span>
+<span class="scilabcomment">//Objective function</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f1</span><span class="scilaboperator">=</span><span class="scilabfunctionid">gattainObjfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabnumber">304</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">18</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f1</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">8</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The initial guess</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Specifying goals and weights</span>
+<span class="scilabid">goal</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">weight</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://abs">abs</a><span class="scilabopenclose">(</span><span class="scilabid">goal</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">//Linear Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear equality constraints below.</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">5</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">11</span><span class="scilabdefault">;</span><span class="scilabnumber">8</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Run fminimax</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">maxfval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">fgoalattain</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">gattainObjfun</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">goal</span><span class="scilabdefault">,</span><span class="scilabid">weight</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
<div class="refsection"><h3 class="title">Authors</h3>
<ul class="itemizedlist"><li class="member">Prajwala TM, Sheetal Shalini , 2015</li></ul></div>
<br />
@@ -169,11 +356,11 @@ It has type &#0034;struct&#0034; and contains the following fields.
<tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
<tr>
<td width="30%">
- <span class="previous"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">&lt;&lt; FOSSEE Optimization Toolbox</a></span>
+ <span class="previous"><a href="cbcintlinprog.html">&lt;&lt; cbcintlinprog</a></span>
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/fminbnd.html b/help/en_US/scilab_en_US_help/fminbnd.html
index d60efaa..7e71531 100644
--- a/help/en_US/scilab_en_US_help/fminbnd.html
+++ b/help/en_US/scilab_en_US_help/fminbnd.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; fminbnd</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; fminbnd</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">fminbnd</h1>
@@ -44,53 +44,58 @@
<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">output</span><span class="default">]=</span><span class="functionid">fminbnd</span><span class="default">(.....)</span>
<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">output</span><span class="default">,</span><span class="default">lambda</span><span class="default">]=</span><span class="functionid">fminbnd</span><span class="default">(.....)</span></pre></div></div>
-<div class="refsection"><h3 class="title">Parameters</h3>
+<div class="refsection"><h3 class="title">Input Parameters</h3>
<dl><dt><span class="term">f :</span>
- <dd><p class="para">a function, representing the objective function of the problem</p></dd></dt>
- <dt><span class="term">x1 :</span>
- <dd><p class="para">a vector, containing the lower bound of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of Variables, where n is number of Variables</p></dd></dt>
- <dt><span class="term">x2 :</span>
- <dd><p class="para">a vector, containing the upper bound of the variables of size (1 X n) or (n X 1) or (0 X 0) where &#0039;n&#0039; is the number of Variables. If x2 is empty it means upper bound is +infinity</p></dd></dt>
+ <dd><p class="para">A function, representing the objective function of the problem.</p></dd></dt>
+ <dt><span class="term"><span><img src='./_LaTeX_fminbnd.xml_1.png' style='position:relative;top:5px;width:19px;height:14px'/></span> :</span>
+ <dd><p class="para">A vector, containing the lower bound of the variables of size (1 X n) or (n X 1) where n is number of variables. If it is empty it means that the lower bound is <span><img src='./_LaTeX_fminbnd.xml_2.png' style='position:relative;top:4px;width:33px;height:16px'/></span>.</p></dd></dt>
+ <dt><span class="term"><span><img src='./_LaTeX_fminbnd.xml_3.png' style='position:relative;top:5px;width:19px;height:14px'/></span> :</span>
+ <dd><p class="para">A vector, containing the upper bound of the variables of size (1 X n) or (n X 1) or (0 X 0) where n is the number of variables. If it is empty it means that the upper bound is <span><img src='./_LaTeX_fminbnd.xml_4.png' style='position:relative;top:2px;width:20px;height:11px'/></span>.</p></dd></dt>
<dt><span class="term">options :</span>
- <dd><p class="para">a list, containing the option for user to specify. See below for details.</p></dd></dt>
- <dt><span class="term">xopt :</span>
- <dd><p class="para">a vector of doubles, containing the the computed solution of the optimization problem.</p></dd></dt>
+ <dd><p class="para">A list, containing the options for user to specify. See below for details.</p></dd></dt></dl></div>
+ <div class="refsection"><h3 class="title">Outputs</h3>
+ <dl><dt><span class="term">xopt :</span>
+ <dd><p class="para">A vector of doubles, containing the computed solution of the optimization problem.</p></dd></dt>
<dt><span class="term">fopt :</span>
- <dd><p class="para">a scalar of double, containing the the function value at x.</p></dd></dt>
+ <dd><p class="para">A double, containing the the function value at x.</p></dd></dt>
<dt><span class="term">exitflag :</span>
- <dd><p class="para">a scalar of integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
+ <dd><p class="para">An integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
<dt><span class="term">output :</span>
- <dd><p class="para">a structure, containing the information about the optimization. See below for details.</p></dd></dt>
+ <dd><p class="para">A structure, containing the information about the optimization. See below for details.</p></dd></dt>
<dt><span class="term">lambda :</span>
- <dd><p class="para">a structure, containing the Lagrange multipliers of lower bound and upper bound at the optimized point. See below for details.</p></dd></dt></dl></div>
+ <dd><p class="para">A structure, containing the Lagrange multipliers of lower bound, upper bound and constraints at the optimized point. See below for details.</p></dd></dt></dl></div>
<div class="refsection"><h3 class="title">Description</h3>
<p class="para">Search the minimum of a multi-variable function on bounded interval specified by :
Find the minimum of f(x) such that</p>
- <p class="para"><span><img src='./_LaTeX_fminbnd.xml_1.png' style='position:relative;top:20px;width:219px;height:48px'/></span></p>
- <p class="para">The routine calls Ipopt for solving the Bounded Optimization problem, Ipopt is a library written in C++.</p>
- <p class="para">The options allows the user to set various parameters of the Optimization problem.
-It should be defined as type &#0034;list&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>Syntax : options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---], TolX, [----]);</li>
-<li>MaxIter : a Scalar, containing the Maximum Number of Iteration that the solver should take.</li>
-<li>CpuTime : a Scalar, containing the Maximum amount of CPU Time that the solver should take.</li>
-<li>TolX : a Scalar, containing the Tolerance value that the solver should take.</li>
-<li>Default Values : options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600], TolX, [1e-4]);</li></ul></p>
- <p class="para">The exitflag allows to know the status of the optimization which is given back by Ipopt.
-<ul class="itemizedlist"><li>exitflag=0 : Optimal Solution Found</li>
-<li>exitflag=1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
-<li>exitflag=2 : Maximum CPU Time exceeded. Output may not be optimal.</li>
-<li>exitflag=3 : Stop at Tiny Step.</li>
-<li>exitflag=4 : Solved To Acceptable Level.</li>
-<li>exitflag=5 : Converged to a point of local infeasibility.</li></ul></p>
- <p class="para">For more details on exitflag see the ipopt documentation, go to http://www.coin-or.org/Ipopt/documentation/</p>
+ <p class="para"><span><img src='./_LaTeX_fminbnd.xml_5.png' style='position:relative;top:30px;width:179px;height:68px'/></span></p>
+ <p class="para">fminbnd calls Ipopt which is an optimization library written in C++, to solve the bound optimization problem.</p>
+
+<p class="para"><h3 class="title">Options</h3>
+The options allow the user to set various parameters of the Optimization problem. The syntax for the options is given by:</p>
+ <p class="para">options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---], &#0034;TolX&#0034;, [---]);</p>
+ <p class="para">The options should be defined as type &#0034;list&#0034; and consist of the following fields:
+<ul class="itemizedlist"><li>MaxIter : A scalar, specifying the maximum number of iterations that the solver should take.</li>
+<li>CpuTime : A scalar, specifying the maximum amount of CPU Time in seconds that the solver should take.</li>
+<li>TolX : A scalar, containing the tolerance value that the solver should take.</li></ul>
+The default values for the various items are given as:</p>
+ <p class="para">options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600]);</p>
+
+ <p class="para">The exitflag allows the user to know the status of the optimization which is returned by Ipopt. The values it can take and what they indicate is described below:
+<ul class="itemizedlist"><li>0 : Optimal Solution Found</li>
+<li>1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
+<li>2 : Maximum amount of CPU Time exceeded. Output may not be optimal.</li>
+<li>3 : Stop at Tiny Step.</li>
+<li>4 : Solved To Acceptable Level.</li>
+<li>5 : Converged to a point of local infeasibility.</li></ul></p>
+ <p class="para">For more details on exitflag, see the ipopt documentation which can be found on http://www.coin-or.org/Ipopt/documentation/</p>
<p class="para">The output data structure contains detailed informations about the optimization process.
-It has type &#0034;struct&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>output.Iterations: The number of iterations performed during the search</li>
-<li>output.Cpu_Time: The total cpu-time spend during the search</li>
-<li>output.Objective_Evaluation: The number of Objective Evaluations performed during the search</li>
-<li>output.Dual_Infeasibility: The Dual Infeasiblity of the final soution</li>
-<li>output.Message: The output message for the problem</li></ul></p>
+It is of type &#0034;struct&#0034; and contains the following fields.
+<ul class="itemizedlist"><li>output.Iterations: The number of iterations performed.</li>
+<li>output.Cpu_Time : The total cpu-time taken.</li>
+<li>output.Objective_Evaluation: The number of Objective Evaluations performed.</li>
+<li>output.Dual_Infeasibility : The Dual Infeasiblity of the final soution.</li>
+<li>output.Message: The output message for the problem.</li></ul></p>
<p class="para">The lambda data structure contains the Lagrange multipliers at the end
of optimization. In the current version the values are returned only when the the solution is optimal.
It has type &#0034;struct&#0034; and contains the following fields.
@@ -98,10 +103,30 @@ It has type &#0034;struct&#0034; and contains the following fields.
<li>lambda.upper: The Lagrange multipliers for the upper bound constraints.</li></ul></p>
<p class="para"></p></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Find x in R^6 such that it minimizes:</span>
-<span class="scilabcomment">//f(x)= sin(x1) + sin(x2) + sin(x3) + sin(x4) + sin(x5) + sin(x6)</span>
-<span class="scilabcomment">//-2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= x1,x2,x3,x4,x5,x6 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 2</span>
+ <p class="para">A few examples displaying the various functionalities of fminbnd have been provided below. You will find a series of problems and the appropriate code snippets to solve them.</p>
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">Here we solve a simple non-linear objective function, bounded in the interval [0,1000].</p>
+ <p class="para">Find x in R such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_fminbnd.xml_6.png' style='position:relative;top:7px;width:221px;height:88px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">Example</span> <span class="scilabnumber">1</span><span class="scilabspecial">:</span> <span class="scilabid">Minimizing</span> <span class="scilabid">a</span> <span class="scilabid">bound</span> <span class="scilabfkeyword">function</span> <span class="scilabid">R</span><span class="scilaboperator">.</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabinputoutputargs">x</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Variable bounds</span>
+<span class="scilabid">x1</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">x2</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1000</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Calling Ipopt</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">fminbnd</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x1</span><span class="scilabdefault">,</span> <span class="scilabid">x2</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">Here we solve a bounded objective function in R^6. We use this function to illustrate how we can further enhance the functionality of fminbnd by setting input options. We can pre-define the gradient of the objective function and/or the hessian of the lagrange function and thereby improve the speed of computation. This is elaborated on in example 2. We also set solver parameters using the options.</p>
+ <p class="para">Find x in R^6 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_fminbnd.xml_7.png' style='position:relative;top:8px;width:506px;height:73px'/></span></p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 2: Solving an objective function in R^6.</span>
<span class="scilabcomment">//Objective function to be minimised</span>
<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabnumber">0</span>
@@ -115,29 +140,13 @@ It has type &#0034;struct&#0034; and contains the following fields.
<span class="scilabcomment">//Options</span>
<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">100</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">TolX</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabnumber">1e-6</span><span class="scilabopenclose">]</span><span class="scilabopenclose">)</span>
<span class="scilabcomment">//Calling Ipopt</span>
-<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">fminbnd</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x1</span><span class="scilabdefault">,</span> <span class="scilabid">x2</span><span class="scilabdefault">,</span> <span class="scilabid">options</span><span class="scilabopenclose">)</span>
-<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">fminbnd</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x1</span><span class="scilabdefault">,</span> <span class="scilabid">x2</span><span class="scilabdefault">,</span> <span class="scilabid">options</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Find x in R such that it minimizes:</span>
-<span class="scilabcomment">//f(x)= 1/x^2</span>
-<span class="scilabcomment">//0 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= x </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 1000</span>
-<span class="scilabcomment">//Objective function to be minimised</span>
-<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
-<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabinputoutputargs">x</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span>
-<span class="scilabfkeyword">endfunction</span>
-<span class="scilabcomment">//Variable bounds</span>
-<span class="scilabid">x1</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">x2</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1000</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabcomment">//Calling Ipopt</span>
-<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">fminbnd</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x1</span><span class="scilabdefault">,</span> <span class="scilabid">x2</span><span class="scilabopenclose">)</span>
-<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
-
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//The below problem is an unbounded problem:</span>
-<span class="scilabcomment">//Find x in R^2 such that it minimizes:</span>
-<span class="scilabcomment">//f(x)= -[(x1-1)^2 + (x2-1)^2]</span>
-<span class="scilabcomment">//-inf </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= x1,x2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= inf</span>
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">Unbounded Problems: Find x in R^2 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_fminbnd.xml_8.png' style='position:relative;top:17px;width:237px;height:93px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 3: Unbounded objective function.</span>
<span class="scilabcomment">//Objective function to be minimised</span>
<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabopenclose">(</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">+</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
@@ -163,7 +172,7 @@ It has type &#0034;struct&#0034; and contains the following fields.
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/fmincon.html b/help/en_US/scilab_en_US_help/fmincon.html
index 5dc1d2b..c36f58f 100644
--- a/help/en_US/scilab_en_US_help/fmincon.html
+++ b/help/en_US/scilab_en_US_help/fmincon.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
@@ -29,11 +29,11 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; fmincon</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; fmincon</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">fmincon</h1>
- <p class="refpurpose">Solves a multi-variable constrainted optimization problem</p></div>
+ <p class="refpurpose">Solves a multi-variable constrainted optimization problem.</p></div>
<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
@@ -49,73 +49,75 @@
<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">output</span><span class="default">,</span><span class="default">lambda</span><span class="default">,</span><span class="default">gradient</span><span class="default">]=</span><span class="functionid">fmincon</span><span class="default">(.....)</span>
<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">output</span><span class="default">,</span><span class="default">lambda</span><span class="default">,</span><span class="default">gradient</span><span class="default">,</span><span class="default">hessian</span><span class="default">]=</span><span class="functionid">fmincon</span><span class="default">(.....)</span></pre></div></div>
-<div class="refsection"><h3 class="title">Parameters</h3>
+<div class="refsection"><h3 class="title">Input Parameters</h3>
<dl><dt><span class="term">f :</span>
- <dd><p class="para">a function, representing the objective function of the problem</p></dd></dt>
+ <dd><p class="para">A function, representing the objective function of the problem.</p></dd></dt>
<dt><span class="term">x0 :</span>
- <dd><p class="para">a vector of doubles, containing the starting values of variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of Variables</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the starting values of variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">A :</span>
- <dd><p class="para">a matrix of doubles, containing the coefficients of linear inequality constraints of size (m X n) where &#0039;m&#0039; is the number of linear inequality constraints</p></dd></dt>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear inequality constraints of size (m X n) where &#0039;m&#0039; is the number of linear inequality constraints.</p></dd></dt>
<dt><span class="term">b :</span>
- <dd><p class="para">a vector of doubles, related to &#0039;A&#0039; and containing the the Right hand side equation of the linear inequality constraints of size (m X 1)</p></dd></dt>
+ <dd><p class="para">A vector of doubles, related to &#0039;A&#0039; and represents the linear coefficients in the linear inequality constraints of size (m X 1).</p></dd></dt>
<dt><span class="term">Aeq :</span>
- <dd><p class="para">a matrix of doubles, containing the coefficients of linear equality constraints of size (m1 X n) where &#0039;m1&#0039; is the number of linear equality constraints</p></dd></dt>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear equality constraints of size (m1 X n) where &#0039;m1&#0039; is the number of linear equality constraints.</p></dd></dt>
<dt><span class="term">beq :</span>
- <dd><p class="para">a vector of doubles, related to &#0039;Aeq&#0039; and containing the the Right hand side equation of the linear equality constraints of size (m1 X 1)</p></dd></dt>
+ <dd><p class="para">A vector of double, vector of doubles, related to &#0039;Aeq&#0039; and represents the linear coefficients in the equality constraints of size (m1 X 1).</p></dd></dt>
<dt><span class="term">lb :</span>
- <dd><p class="para">a vector of doubles, containing the lower bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of Variables</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the lower bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">ub :</span>
- <dd><p class="para">a vector of doubles, containing the upper bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of Variables</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the upper bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">nlc :</span>
- <dd><p class="para">a function, representing the Non-linear Constraints functions(both Equality and Inequality) of the problem. It is declared in such a way that non-linear inequality constraints are defined first as a single row vector (c), followed by non-linear equality constraints as another single row vector (ceq). Refer Example for definition of Constraint function.</p></dd></dt>
+ <dd><p class="para">A function, representing the Non-linear Constraints functions(both Equality and Inequality) of the problem. It is declared in such a way that non-linear inequality constraints (c), and the non-linear equality constraints (ceq) are defined as separate single row vectors.</p></dd></dt>
<dt><span class="term">options :</span>
- <dd><p class="para">a list, containing the option for user to specify. See below for details.</p></dd></dt>
- <dt><span class="term">xopt :</span>
- <dd><p class="para">a vector of doubles, cointating the computed solution of the optimization problem</p></dd></dt>
+ <dd><p class="para">A list, containing the option for user to specify. See below for details.</p></dd></dt></dl></div>
+<div class="refsection"><h3 class="title">Outputs</h3>
+ <dl><dt><span class="term">xopt :</span>
+ <dd><p class="para">A vector of doubles, containing the computed solution of the optimization problem.</p></dd></dt>
<dt><span class="term">fopt :</span>
- <dd><p class="para">a scalar of double, containing the the function value at x</p></dd></dt>
+ <dd><p class="para">A double, containing the value of the function at x.</p></dd></dt>
<dt><span class="term">exitflag :</span>
- <dd><p class="para">a scalar of integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
+ <dd><p class="para">An integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
<dt><span class="term">output :</span>
- <dd><p class="para">a structure, containing the information about the optimization. See below for details.</p></dd></dt>
+ <dd><p class="para">A structure, containing the information about the optimization. See below for details.</p></dd></dt>
<dt><span class="term">lambda :</span>
- <dd><p class="para">a structure, containing the Lagrange multipliers of lower bound, upper bound and constraints at the optimized point. See below for details.</p></dd></dt>
+ <dd><p class="para">A structure, containing the Lagrange multipliers of the lower bounds, upper bounds and constraints at the optimized point. See below for details.</p></dd></dt>
<dt><span class="term">gradient :</span>
- <dd><p class="para">a vector of doubles, containing the Objective&#0039;s gradient of the solution.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the objective&#0039;s gradient of the solution.</p></dd></dt>
<dt><span class="term">hessian :</span>
- <dd><p class="para">a matrix of doubles, containing the Lagrangian&#0039;s hessian of the solution.</p></dd></dt></dl></div>
+ <dd><p class="para">A matrix of doubles, containing the Lagrangian&#0039;s hessian of the solution.</p></dd></dt></dl></div>
<div class="refsection"><h3 class="title">Description</h3>
- <p class="para">Search the minimum of a constrained optimization problem specified by :
-Find the minimum of f(x) such that</p>
- <p class="para"><span><img src='./_LaTeX_fmincon.xml_1.png' style='position:relative;top:63px;width:221px;height:134px'/></span></p>
- <p class="para">The routine calls Ipopt for solving the Constrained Optimization problem, Ipopt is a library written in C++.</p>
- <p class="para">The options allows the user to set various parameters of the Optimization problem.
-It should be defined as type &#0034;list&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>Syntax : options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---], &#0034;GradObj&#0034;, ---, &#0034;Hessian&#0034;, ---, &#0034;GradCon&#0034;, ---);</li>
-<li>MaxIter : a Scalar, containing the Maximum Number of Iteration that the solver should take.</li>
-<li>CpuTime : a Scalar, containing the Maximum amount of CPU Time that the solver should take.</li>
-<li>GradObj : a function, representing the gradient function of the Objective in Vector Form.</li>
-<li>Hessian : a function, representing the hessian function of the Lagrange in Symmetric Matrix Form with Input parameters x, Objective factor and Lambda. Refer Example for definition of Lagrangian Hessian function.</li>
-<li>GradCon : a function, representing the gradient of the Non-Linear Constraints (both Equality and Inequality) of the problem. It is declared in such a way that gradient of non-linear inequality constraints are defined first as a separate Matrix (cg of size m2 X n or as an empty), followed by gradient of non-linear equality constraints as a separate Matrix (ceqg of size m2 X n or as an empty) where m2 &amp; m3 are number of non-linear inequality and equality constraints respectively.</li>
-<li>Default Values : options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600]);</li></ul></p>
- <p class="para">The exitflag allows to know the status of the optimization which is given back by Ipopt.
-<ul class="itemizedlist"><li>exitflag=0 : Optimal Solution Found</li>
-<li>exitflag=1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
-<li>exitflag=2 : Maximum amount of CPU Time exceeded. Output may not be optimal.</li>
-<li>exitflag=3 : Stop at Tiny Step.</li>
-<li>exitflag=4 : Solved To Acceptable Level.</li>
-<li>exitflag=5 : Converged to a point of local infeasibility.</li></ul></p>
- <p class="para">For more details on exitflag see the ipopt documentation, go to http://www.coin-or.org/Ipopt/documentation/</p>
- <p class="para">The output data structure contains detailed informations about the optimization process.
-It has type &#0034;struct&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>output.Iterations: The number of iterations performed during the search</li>
-<li>output.Cpu_Time: The total cpu-time spend during the search</li>
-<li>output.Objective_Evaluation: The number of Objective Evaluations performed during the search</li>
-<li>output.Dual_Infeasibility: The Dual Infeasiblity of the final soution</li>
-<li>output.Message: The output message for the problem</li></ul></p>
- <p class="para">The lambda data structure contains the Lagrange multipliers at the end
-of optimization. In the current version the values are returned only when the the solution is optimal.
+ <p class="para">Search the minimum of a constrained optimization problem specified by:</p>
+ <p class="para">Find the minimum of f(x) such that</p>
+ <p class="para"><span><img src='./_LaTeX_fmincon.xml_1.png' style='position:relative;top:74px;width:220px;height:156px'/></span></p>
+ <p class="para">fmincon calls Ipopt, an optimization library written in C++, to solve the Constrained Optimization problem.</p>
+ <p class="para"><h3 class="title">Options</h3>
+The options allow the user to set various parameters of the Optimization problem. The syntax for the options is given by:</p>
+ <p class="para">options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---], &#0034;GradObj&#0034;, ---, &#0034;Hessian&#0034;, ---, &#0034;GradCon&#0034;, ---);</p>
+ <p class="para">The options should be defined as type &#0034;list&#0034; and consist of the following fields:
+<ul class="itemizedlist"><li>MaxIter : A Scalar, specifying the maximum number of iterations that the solver should take.</li>
+<li>CpuTime : A Scalar, specifying the maximum amount of CPU time in seconds that the solver should take.</li>
+<li>GradObj : A function, representing the gradient function of the Objective in vector form.</li>
+<li>Hessian : A function, representing the hessian function of the Lagrange in the form of a Symmetric Matrix with Input parameters as x, Objective factor and Lambda. Refer to Example 5 for definition of Lagrangian Hessian function.</li>
+<li>GradCon : A function, representing the gradient of the Non-Linear Constraints (both Equality and Inequality) of the problem. It is declared in such a way that gradient of non-linear inequality constraints are defined first as a separate Matrix (cg of size m2 X n or as an empty), followed by gradient of non-linear equality constraints as a separate matrix (ceqg of size m2 X n or as an empty) where m2 &amp;amp; m3 are number of non-linear inequality and equality constraints respectively.</li></ul>
+The default values for the various items are given as:</p>
+ <p class="para">options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600]);</p>
+ <p class="para">The exitflag allows the user to know the status of the optimization which is returned by Ipopt. The values it can take and what they indicate is described below:
+<ul class="itemizedlist"><li>0 : Optimal Solution Found</li>
+<li>1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
+<li>2 : Maximum amount of CPU Time exceeded. Output may not be optimal.</li>
+<li>3 : Stop at Tiny Step.</li>
+<li>4 : Solved To Acceptable Level.</li>
+<li>5 : Converged to a point of local infeasibility.</li></ul></p>
+ <p class="para">For more details on exitflag, see the Ipopt documentation which can be found on http://www.coin-or.org/Ipopt/documentation/</p>
+ <p class="para">The output data structure contains detailed information about the optimization process.
+It is of type &#0034;struct&#0034; and contains the following fields.
+<ul class="itemizedlist"><li>output.Iterations: The number of iterations performed.</li>
+<li>output.Cpu_Time : The total cpu-time taken.</li>
+<li>output.Objective_Evaluation: The number of Objective Evaluations performed.</li>
+<li>output.Dual_Infeasibility : The Dual Infeasiblity of the final soution.</li>
+<li>output.Message: The output message for the problem.</li></ul></p>
+ <p class="para">The lambda data structure contains the Lagrange multipliers at the end of optimization. In the current version, the values are returned only when the the solution is optimal.
It has type &#0034;struct&#0034; and contains the following fields.
<ul class="itemizedlist"><li>lambda.lower: The Lagrange multipliers for the lower bound constraints.</li>
<li>lambda.upper: The Lagrange multipliers for the upper bound constraints.</li>
@@ -123,52 +125,99 @@ It has type &#0034;struct&#0034; and contains the following fields.
<li>lambda.ineqlin: The Lagrange multipliers for the linear inequality constraints.</li>
<li>lambda.eqnonlin: The Lagrange multipliers for the non-linear equality constraints.</li>
<li>lambda.ineqnonlin: The Lagrange multipliers for the non-linear inequality constraints.</li></ul></p>
- <p class="para"></p></div>
+ <p class="para">A few examples displaying the various functionalities of fmincon have been provided below. You will find a series problems and the appropriate code snippets to solve them.</p></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Find x in R^2 such that it minimizes:</span>
-<span class="scilabcomment">//f(x)= -x1 -x2/3</span>
-<span class="scilabcomment">//x0=[0,0]</span>
-<span class="scilabcomment">//constraint-1 (c1): x1 + x2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 2</span>
-<span class="scilabcomment">//constraint-2 (c2): x1 + x2/4 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 1</span>
-<span class="scilabcomment">//constraint-3 (c3): x1 - x2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 2</span>
-<span class="scilabcomment">//constraint-4 (c4): -x1/4 - x2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 1</span>
-<span class="scilabcomment">//constraint-5 (c5): -x1 - x2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= -1</span>
-<span class="scilabcomment">//constraint-6 (c6): -x1 + x2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 2</span>
-<span class="scilabcomment">//constraint-7 (c7): x1 + x2 = 2</span>
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">Here we solve a simple non-linear objective function, subjected to three linear inequality constraints.</p>
+ <p class="para">Find x in R^2 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_fmincon.xml_2.png' style='position:relative;top:29px;width:230px;height:116px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 1:</span>
<span class="scilabcomment">//Objective function to be minimised</span>
<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
-<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
<span class="scilabfkeyword">endfunction</span>
-<span class="scilabcomment">//Starting point, linear constraints and variable bounds</span>
+<span class="scilabcomment">//Starting point, and linear constraints. Since we haven</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">t added any eqaulity constraints or variable bounds, we need not specify them.</span>
<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">Aeq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">lb</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">ub</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">nlc</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabcomment">//Gradient of objective function</span>
-<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">fGrad</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
-<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabdefault">,</span><span class="scilabid">grad</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">fmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">Here we build up on the previous example by adding linear equality constraints.
+We add the following constraints to the problem specified above:</p>
+ <p class="para"><span><img src='./_LaTeX_fmincon.xml_3.png' style='position:relative;top:17px;width:134px;height:42px'/></span></p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 2:</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
<span class="scilabfkeyword">endfunction</span>
-<span class="scilabcomment">//Hessian of lagrangian</span>
-<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">lHess</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">obj</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">lambda</span><span class="scilabopenclose">)</span>
-<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">obj</span><span class="scilaboperator">*</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span>
+<span class="scilabcomment">//Starting point, and linear constraints.</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear equality constraints below.</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabdefault">,</span><span class="scilabid">grad</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">fmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">In this example, we proceed to add the upper and lower bounds to the objective function.</p>
+ <p class="para"><span><img src='./_LaTeX_fmincon.xml_4.png' style='position:relative;top:17px;width:145px;height:42px'/></span></p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 3:</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
<span class="scilabfkeyword">endfunction</span>
-<span class="scilabcomment">//Options</span>
-<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradObj</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fGrad</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">Hessian</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">lHess</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
-<span class="scilabcomment">//Calling Ipopt</span>
-<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabdefault">,</span><span class="scilabid">grad</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">fmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabid">nlc</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span>
-<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+<span class="scilabcomment">//Starting point, and linear constraints.</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear equality constraints below.</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//The upper and lower bounds for the objective function are defined in simple vectors as shown below.</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabconstants">%inf</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabcomment">//</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabdefault">,</span><span class="scilabid">grad</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">fmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Find x in R^3 such that it minimizes:</span>
-<span class="scilabcomment">//f(x)= x1*x2 + x2*x3</span>
-<span class="scilabcomment">//x0=[0.1 , 0.1 , 0.1]</span>
-<span class="scilabcomment">//constraint-1 (c1): x1^2 - x2^2 + x3^2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 2</span>
-<span class="scilabcomment">//constraint-2 (c2): x1^2 + x2^2 + x3^2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 10</span>
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Finally, we add the non-linear constraints to the problem. Note that there is a notable difference in the way this is done as compared to defining the linear constraints.</p>
+ <p class="para"><span><img src='./_LaTeX_fmincon.xml_5.png' style='position:relative;top:22px;width:139px;height:52px'/></span></p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 4:</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Starting point, and linear constraints.</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear equality constraints below.</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//The upper and lower bound for the objective function are specified below.</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabconstants">%inf</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Nonlinear constraints are required to be defined as a single function with the inequality and equality constraints in separate vectors.</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">c</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">ceq</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">nlc</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">c</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">ceq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabdefault">,</span><span class="scilabid">grad</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">fmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabfunctionid">nlc</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Additional Functionality:</p>
+ <p class="para">We can further enhance the functionality of fmincon by setting input options. We can pre-define the gradient of the objective function and/or the hessian of the lagrange function and thereby improve the speed of computation. This is elaborated on in example 5. We take the following problem and add simple non-linear constraints, specify the gradients and the hessian of the Lagrange Function. We also set solver parameters using the options.</p>
+
+ <p class="para"><span><img src='./_LaTeX_fmincon.xml_6.png' style='position:relative;top:22px;width:266px;height:101px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 5:</span>
<span class="scilabcomment">//Objective function to be minimised</span>
<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
@@ -190,7 +239,7 @@ It has type &#0034;struct&#0034; and contains the following fields.
<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">fGrad</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabfkeyword">endfunction</span>
-<span class="scilabcomment">//Hessian of the Lagrange Function</span>
+<span class="scilabcomment">//Hessian of the Lagrange Function, which has been pre-defined to improve solver speed.</span>
<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">lHess</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">obj</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">lambda</span><span class="scilabopenclose">)</span>
<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">obj</span><span class="scilaboperator">*</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">lambda</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">lambda</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span>
<span class="scilabfkeyword">endfunction</span>
@@ -203,84 +252,38 @@ It has type &#0034;struct&#0034; and contains the following fields.
<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">GradObj</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fGrad</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">Hessian</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">lHess</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradCon</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">cGrad</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
<span class="scilabcomment">//Calling Ipopt</span>
<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">fmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabfunctionid">nlc</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span>
-<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+<span class="scilabcomment">//Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//The below problem is an unbounded problem:</span>
-<span class="scilabcomment">//Find x in R^3 such that it minimizes:</span>
-<span class="scilabcomment">//f(x)= -(x1^2 + x2^2 + x3^2)</span>
-<span class="scilabcomment">//x0=[0.1 , 0.1 , 0.1]</span>
-<span class="scilabcomment">// x1 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 0</span>
-<span class="scilabcomment">// x2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 0</span>
-<span class="scilabcomment">// x3 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 0</span>
-<span class="scilabcomment">//Objective function to be minimised</span>
+<div class="refsection"><h3 class="title">Example</h3>
+
+ <p class="para">Infeasible Problems: Find x in R^2 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_fmincon.xml_7.png' style='position:relative;top:39px;width:225px;height:136px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 6:</span>
+<span class="scilabcomment">//Infeasible objective function.</span>
<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
-<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
<span class="scilabfkeyword">endfunction</span>
-<span class="scilabcomment">//Starting point, linear constraints and variable bounds</span>
-<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0.1</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0.1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">Aeq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">lb</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">ub</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabcomment">//Options</span>
-<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">500</span><span class="scilabopenclose">]</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
-<span class="scilabcomment">//Calling Ipopt</span>
-<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabdefault">,</span><span class="scilabid">grad</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">fmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span>
-<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabnumber">3</span><span class="scilabdefault">;</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabdefault">,</span><span class="scilabid">grad</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">fmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//The below problem is an infeasible problem:</span>
-<span class="scilabcomment">//Find x in R^3 such that in minimizes:</span>
-<span class="scilabcomment">//f(x)=x1*x2 + x2*x3</span>
-<span class="scilabcomment">//x0=[1,1,1]</span>
-<span class="scilabcomment">//constraint-1 (c1): x1^2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 1</span>
-<span class="scilabcomment">//constraint-2 (c2): x1^2 + x2^2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 1</span>
-<span class="scilabcomment">//constraint-3 (c3): x3^2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 1</span>
-<span class="scilabcomment">//constraint-4 (c4): x1^3 = 0.5</span>
-<span class="scilabcomment">//constraint-5 (c5): x2^2 + x3^2 = 0.75</span>
-<span class="scilabcomment">// 0 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= x1 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">=0.6</span>
-<span class="scilabcomment">// 0.2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= x2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= inf</span>
-<span class="scilabcomment">// -inf </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= x3 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 1</span>
-<span class="scilabcomment">//Objective function to be minimised</span>
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">Unbounded Problems: Find x in R^2 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_fmincon.xml_8.png' style='position:relative;top:17px;width:209px;height:93px'/></span></p>
+ <p class="para"></p>
+<div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 7: Unbounded objective function.</span>
<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
-<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
-<span class="scilabfkeyword">endfunction</span>
-<span class="scilabcomment">//Starting point, linear constraints and variable bounds</span>
-<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">Aeq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">lb</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span> <span class="scilabnumber">0.2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">ub</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0.6</span> <span class="scilabconstants">%inf</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabcomment">//Nonlinear constraints</span>
-<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">c</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">ceq</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">nlc</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
-<span class="scilabinputoutputargs">c</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabinputoutputargs">ceq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">3</span><span class="scilaboperator">-</span><span class="scilabnumber">0.5</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">0.75</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabfkeyword">endfunction</span>
-<span class="scilabcomment">//Gradient of objective function</span>
-<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">fGrad</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
-<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabfkeyword">endfunction</span>
-<span class="scilabcomment">//Hessian of the Lagrange Function</span>
-<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">lHess</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">obj</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">lambda</span><span class="scilabopenclose">)</span>
-<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">obj</span><span class="scilaboperator">*</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">lambda</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span> <span class="scilaboperator">+</span> <span class="scilabspecial">..</span>
-<span class="scilabinputoutputargs">lambda</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span> <span class="scilaboperator">+</span><span class="scilabinputoutputargs">lambda</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span> <span class="scilaboperator">+</span> <span class="scilabspecial">..</span>
-<span class="scilabinputoutputargs">lambda</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabopenclose">[</span><span class="scilabnumber">6</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">lambda</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
<span class="scilabfkeyword">endfunction</span>
-<span class="scilabcomment">//Gradient of Non-Linear Constraints</span>
-<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">cg</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">ceqg</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">cGrad</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
-<span class="scilabinputoutputargs">cg</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabinputoutputargs">ceqg</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabfkeyword">endfunction</span>
-<span class="scilabcomment">//Options</span>
-<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">GradObj</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fGrad</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">Hessian</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">lHess</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradCon</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">cGrad</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
-<span class="scilabcomment">//Calling Ipopt</span>
-<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabdefault">,</span><span class="scilabid">grad</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">fmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabfunctionid">nlc</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span>
-<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabdefault">,</span><span class="scilabid">grad</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">fmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
<div class="refsection"><h3 class="title">Authors</h3>
<ul class="itemizedlist"><li class="member">R.Vidyadhar , Vignesh Kannan</li></ul></div>
@@ -295,7 +298,7 @@ It has type &#0034;struct&#0034; and contains the following fields.
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/fminimax.html b/help/en_US/scilab_en_US_help/fminimax.html
index 22b6ad9..2aa5c38 100644
--- a/help/en_US/scilab_en_US_help/fminimax.html
+++ b/help/en_US/scilab_en_US_help/fminimax.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; fminimax</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; fminimax</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">fminimax</h1>
@@ -49,64 +49,72 @@
<span class="default">[</span><span class="default">xopt</span><span class="default">, </span><span class="default">fval</span><span class="default">, </span><span class="default">maxfval</span><span class="default">, </span><span class="default">exitflag</span><span class="default">, </span><span class="default">output</span><span class="default">]= </span><span class="functionid">fminimax</span><span class="default">(.....)</span>
<span class="default">[</span><span class="default">xopt</span><span class="default">, </span><span class="default">fval</span><span class="default">, </span><span class="default">maxfval</span><span class="default">, </span><span class="default">exitflag</span><span class="default">, </span><span class="default">output</span><span class="default">, </span><span class="default">lambda</span><span class="default">]= </span><span class="functionid">fminimax</span><span class="default">(.....)</span></pre></div></div>
-<div class="refsection"><h3 class="title">Parameters</h3>
+<div class="refsection"><h3 class="title">Input Parameters</h3>
<dl><dt><span class="term">fun:</span>
- <dd><p class="para">The function to be minimized. fun is a function that accepts a vector x and returns a vector F, the objective functions evaluated at x.</p></dd></dt>
+ <dd><p class="para">The function to be minimized. fun is a function that has a vector x as an input argument, and contains the objective functions evaluated at x.</p></dd></dt>
<dt><span class="term">x0 :</span>
- <dd><p class="para">a vector of double, contains initial guess of variables.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the starting values of variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of Variables.</p></dd></dt>
<dt><span class="term">A :</span>
- <dd><p class="para">a matrix of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.</p></dd></dt>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear inequality constraints of size (m X n) where &#0039;m&#0039; is the number of linear inequality constraints.</p></dd></dt>
<dt><span class="term">b :</span>
- <dd><p class="para">a vector of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, related to &#0039;A&#0039; and represents the linear coefficients in the linear inequality constraints of size (m X 1).</p></dd></dt>
<dt><span class="term">Aeq :</span>
- <dd><p class="para">a matrix of double, represents the linear coefficients in the equality constraints Aeqâ‹…x = beq.</p></dd></dt>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear equality constraints of size (m1 X n) where &#0039;m1&#0039; is the number of linear equality constraints.</p></dd></dt>
<dt><span class="term">beq :</span>
- <dd><p class="para">a vector of double, represents the linear coefficients in the equality constraints Aeqâ‹…x = beq.</p></dd></dt>
+ <dd><p class="para">A vector of double, vector of doubles, related to &#0039;Aeq&#0039; and represents the linear coefficients in the equality constraints of size (m1 X 1).</p></dd></dt>
<dt><span class="term">lb :</span>
- <dd><p class="para">a vector of double, contains lower bounds of the variables.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the lower bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">ub :</span>
- <dd><p class="para">a vector of double, contains upper bounds of the variables.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the upper bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">nonlinfun:</span>
- <dd><p class="para">function that computes the nonlinear inequality constraints c⋅x ≤ 0 and nonlinear equality constraints c⋅x = 0.</p></dd></dt>
- <dt><span class="term">xopt :</span>
- <dd><p class="para">a vector of double, the computed solution of the optimization problem.</p></dd></dt>
- <dt><span class="term">fopt :</span>
- <dd><p class="para">a double, the value of the function at x.</p></dd></dt>
+ <dd><p class="para">A function, representing the Non-linear Constraints functions(both Equality and Inequality) of the problem. It is declared in such a way that non-linear inequality constraints (c), and the non-linear equality constraints (ceq) are defined as separate single row vectors.</p></dd></dt>
+ <dt><span class="term">options :</span>
+ <dd><p class="para">A list, containing the option for user to specify. See below for details.</p></dd></dt></dl></div>
+<div class="refsection"><h3 class="title">Outputs</h3>
+ <dl><dt><span class="term">xopt :</span>
+ <dd><p class="para">A vector of doubles, containing the computed solution of the optimization problem.</p></dd></dt>
+ <dt><span class="term">fval :</span>
+ <dd><p class="para">A vector of doubles, containing the values of the objective functions at the end of the optimization problem.</p></dd></dt>
<dt><span class="term">maxfval:</span>
- <dd><p class="para">a 1x1 matrix of doubles, the maximum value in vector fval</p></dd></dt>
+ <dd><p class="para">A double, representing the maximum value in the vector fval.</p></dd></dt>
<dt><span class="term">exitflag :</span>
- <dd><p class="para">The exit status. See below for details.</p></dd></dt>
+ <dd><p class="para">An integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
<dt><span class="term">output :</span>
- <dd><p class="para">The structure consist of statistics about the optimization. See below for details.</p></dd></dt>
+ <dd><p class="para">A structure, containing the information about the optimization. See below for details.</p></dd></dt>
<dt><span class="term">lambda :</span>
- <dd><p class="para">The structure consist of the Lagrange multipliers at the solution of problem. See below for details.</p></dd></dt></dl></div>
+ <dd><p class="para">A structure, containing the Lagrange multipliers of lower bound, upper bound and constraints at the optimized point. See below for details.</p></dd></dt></dl></div>
<div class="refsection"><h3 class="title">Description</h3>
- <p class="para">fminimax minimizes the worst-case (largest) value of a set of multivariable functions, starting at an initial estimate. This is generally referred to as the minimax problem.</p>
- <p class="para"><span><img src='./_LaTeX_fminimax.xml_1.png' style='position:relative;top:51px;width:427px;height:110px'/></span></p>
- <p class="para">Currently, fminimax calls fmincon which uses the ip-opt algorithm.</p>
+ <p class="para">fminimax minimizes the worst-case (largest) value of a set of multivariable functions, starting at an initial estimate, a problem generally referred to as the minimax problem.</p>
+ <p class="para"><span><img src='./_LaTeX_fminimax.xml_1.png' style='position:relative;top:51px;width:318px;height:133px'/></span></p>
+ <p class="para">Currently, fminimax calls fmincon which uses the Ipopt solver.</p>
<p class="para">max-min problems can also be solved with fminimax, using the identity</p>
<p class="para"><span><img src='./_LaTeX_fminimax.xml_2.png' style='position:relative;top:6px;width:281px;height:20px'/></span></p>
- <p class="para">The options allows the user to set various parameters of the Optimization problem.
-It should be defined as type &#0034;list&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>Syntax : options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---], &#0034;GradObj&#0034;, ---, &#0034;GradCon&#0034;, ---);</li>
-<li>MaxIter : a Scalar, containing the Maximum Number of Iteration that the solver should take.</li>
-<li>CpuTime : a Scalar, containing the Maximum amount of CPU Time that the solver should take.</li>
-<li>GradObj : a function, representing the gradient function of the Objective in Vector Form.</li>
-<li>GradCon : a function, representing the gradient of the Non-Linear Constraints (both Equality and Inequality) of the problem. It is declared in such a way that gradient of non-linear inequality constraints are defined first as a separate Matrix (cg of size m2 X n or as an empty), followed by gradient of non-linear equality constraints as a separate Matrix (ceqg of size m2 X n or as an empty) where m2 &amp; m3 are number of non-linear inequality and equality constraints respectively.</li>
-<li>Default Values : options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600]);</li></ul></p>
- <p class="para">The objective function must have header :
+
+ <p class="para"><h3 class="title">Options</h3>
+The options allow the user to set various parameters of the Optimization problem. The syntax for the options is given by:</p>
+ <p class="para">options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---], &#0034;GradObj&#0034;, ---, &#0034;GradCon&#0034;, ---);</p>
+ <p class="para"><ul class="itemizedlist"><li>MaxIter : A Scalar, specifying the Maximum Number of iterations that the solver should take.</li>
+<li>CpuTime : A Scalar, specifying the Maximum amount of CPU Time in seconds that the solver should take.</li>
+<li>GradObj : A function, representing the gradient function of the Objective in Vector Form.</li>
+<li>GradCon : A function, representing the gradient of the Non-Linear Constraints (both Equality and Inequality) of the problem. It is declared in such a way that gradient of non-linear inequality constraints are defined first as a separate Matrix (cg of size m2 X n or as an empty), followed by gradient of non-linear equality constraints as a separate matrix (ceqg of size m2 X n or as an empty) where m2 &amp;amp; m3 are number of non-linear inequality and equality constraints respectively.</li>
+<li>Default Values : options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600]);</li></ul>
+The default values for the various items are given as:</p>
+ <p class="para">options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600]);</p>
+ <p class="para">The objective function must have a header :
<div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">F</span> <span class="scilaboperator">=</span> <span class="scilabid">fun</span><span class="scilabopenclose">(</span><span class="scilabid">x</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div>
where x is a n x 1 matrix of doubles and F is a m x 1 matrix of doubles where m is the total number of objective functions inside F.
On input, the variable x contains the current point and, on output, the variable F must contain the objective function values.</p>
- <p class="para">By default, the gradient options for fminimax are turned off and and fmincon does the gradient opproximation of minmaxObjfun. In case the GradObj option is off and GradConstr option is on, fminimax approximates minmaxObjfun gradient using numderivative toolbox.</p>
- <p class="para">If we can provide exact gradients, we should do so since it improves the convergence speed of the optimization algorithm.</p>
- <p class="para">Furthermore, we must enable the &#0034;GradObj&#0034; option with the statement :
+ <p class="para">By default, the gradient options for fminimax are turned off and and fmincon does the gradient opproximation of minmaxObjfun. In case the GradObj option is off and GradCon option is on, fminimax approximates minmaxObjfun gradient using the numderivative toolbox.</p>
+<h3 class="title">Syntax</h3>
+<p class="para">Some syntactic details about fminimax, including the syntax for the gradient, defining the non-linear constraints, and the constraint derivative function have been provided below:</p>
+ <p class="para">If the user can provide exact gradients, it should be done, since it improves the convergence speed of the optimization algorithm.</p>
+ <p class="para">Furthermore, we can enable the &#0034;GradObj&#0034; option with the statement :
<div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">minimaxOptions</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradObj</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabid">fGrad</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div>
This will let fminimax know that the exact gradient of the objective function is known, so that it can change the calling sequence to the objective function. Note that, fGrad should be mentioned in the form of N x n where n is the number of variables, N is the number of functions in objective function.</p>
- <p class="para">The constraint function must have header :
+ <p class="para">The constraint function must have header:
<div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabopenclose">[</span><span class="scilabid">c</span><span class="scilabdefault">,</span> <span class="scilabid">ceq</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">confun</span><span class="scilabopenclose">(</span><span class="scilabid">x</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div>
-where x is a n x 1 matrix of dominmaxUbles, c is a 1 x nni matrix of doubles and ceq is a 1 x nne matrix of doubles (nni : number of nonlinear inequality constraints, nne : number of nonlinear equality constraints).
+Where x is a n x 1 matrix of minimax doubles, c is a 1 x nni matrix of doubles and ceq is a 1 x nne matrix of doubles (nni : number of nonlinear inequality constraints, nne : number of nonlinear equality constraints).
On input, the variable x contains the current point and, on output, the variable c must contain the nonlinear inequality constraints and ceq must contain the nonlinear equality constraints.</p>
<p class="para">By default, the gradient options for fminimax are turned off and and fmincon does the gradient opproximation of confun. In case the GradObj option is on and GradCons option is off, fminimax approximates confun gradient using numderivative toolbox.</p>
<p class="para">If we can provide exact gradients, we should do so since it improves the convergence speed of the optimization algorithm.</p>
@@ -116,35 +124,55 @@ This will let fminimax know that the exact gradient of the objective function is
<p class="para">The constraint derivative function must have header :
<div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabopenclose">[</span><span class="scilabid">dc</span><span class="scilabdefault">,</span><span class="scilabid">dceq</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">confungrad</span><span class="scilabopenclose">(</span><span class="scilabid">x</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div>
where dc is a nni x n matrix of doubles and dceq is a nne x n matrix of doubles.</p>
- <p class="para">The exitflag allows to know the status of the optimization which is given back by Ipopt.
-<ul class="itemizedlist"><li>exitflag=0 : Optimal Solution Found</li>
-<li>exitflag=1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
-<li>exitflag=2 : Maximum amount of CPU Time exceeded. Output may not be optimal.</li>
-<li>exitflag=3 : Stop at Tiny Step.</li>
-<li>exitflag=4 : Solved To Acceptable Level.</li>
-<li>exitflag=5 : Converged to a point of local infeasibility.</li></ul></p>
- <p class="para">For more details on exitflag see the ipopt documentation, go to http://www.coin-or.org/Ipopt/documentation/</p>
- <p class="para">The output data structure contains detailed informations about the optimization process.
-It has type &#0034;struct&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>output.Iterations: The number of iterations performed during the search</li>
-<li>output.Cpu_Time: The total cpu-time spend during the search</li>
-<li>output.Objective_Evaluation: The number of Objective Evaluations performed during the search</li>
-<li>output.Dual_Infeasibility: The Dual Infeasiblity of the final soution</li></ul></p>
- <p class="para">The lambda data structure contains the Lagrange multipliers at the end
-of optimization. In the current version the values are returned only when the the solution is optimal.
+ <p class="para">The exitflag allows the user to know the status of the optimization which is returned by Ipopt. The values it can take and what they indicate is described below:
+<ul class="itemizedlist"><li>0 : Optimal Solution Found</li>
+<li>1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
+<li>2 : Maximum amount of CPU Time exceeded. Output may not be optimal.</li>
+<li>3 : Stop at Tiny Step.</li>
+<li>4 : Solved To Acceptable Level.</li>
+<li>5 : Converged to a point of local infeasibility.</li></ul></p>
+ <p class="para">For more details on exitflag, see the ipopt documentation which can be found on http://www.coin-or.org/Ipopt/documentation/</p>
+ <p class="para">The output data structure contains detailed information about the optimization process.
+It is of type &#0034;struct&#0034; and contains the following fields.
+<ul class="itemizedlist"><li>output.Iterations: The number of iterations performed.</li>
+<li>output.Cpu_Time : The total cpu-time taken.</li>
+<li>output.Objective_Evaluation: The number of Objective Evaluations performed.</li>
+<li>output.Dual_Infeasibility : The Dual Infeasiblity of the final soution.</li>
+<li>output.Message: The output message for the problem.</li></ul></p>
+ <p class="para">The lambda data structure contains the Lagrange multipliers at the end of optimization. In the current version the values are returned only when the the solution is optimal.
It has type &#0034;struct&#0034; and contains the following fields.
<ul class="itemizedlist"><li>lambda.lower: The Lagrange multipliers for the lower bound constraints.</li>
<li>lambda.upper: The Lagrange multipliers for the upper bound constraints.</li>
<li>lambda.eqlin: The Lagrange multipliers for the linear equality constraints.</li>
<li>lambda.ineqlin: The Lagrange multipliers for the linear inequality constraints.</li>
<li>lambda.eqnonlin: The Lagrange multipliers for the non-linear equality constraints.</li>
-<li>lambda.ineqnonlin: The Lagrange multipliers for the non-linear inequality constraints.</li></ul></p>
- <p class="para"></p></div>
+<li>lambda.ineqnonlin: The Lagrange multipliers for the non-linear inequality constraints.</li></ul></p></div>
+<p class="para">A few examples displaying the various functionalities of fminimax have been provided below. You will find a series of problems and the appropriate code snippets to solve them.</p>
+<div class="refsection"><h3 class="title">Example</h3>
+ Here we solve a simple objective function, subjected to no constraints.
+<p class="para"><span><img src='./_LaTeX_fminimax.xml_3.png' style='position:relative;top:56px;width:312px;height:148px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 1:</span>
+<span class="scilabcomment">// Objective function</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">304</span><span class="scilabdefault">;</span> <span class="scilabcomment">//Objectives</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span><span class="scilabnumber">18</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">8</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The initial guess</span>
+<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span><span class="scilabdefault">,</span><span class="scilabnumber">0.1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Run fminimax</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">maxfval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">fminimax</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ We proceed to add simple linear inequality constraints.
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// A basic case :</span>
-<span class="scilabcomment">// we provide only the objective function and the nonlinear constraint</span>
-<span class="scilabcomment">// function</span>
+<p class="para"><span><img src='./_LaTeX_fminimax.xml_4.png' style='position:relative;top:29px;width:225px;height:66px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 2:</span>
+<span class="scilabcomment">//Objective function</span>
<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">304</span><span class="scilabdefault">;</span> <span class="scilabcomment">//Objectives</span>
<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
@@ -154,18 +182,102 @@ It has type &#0034;struct&#0034; and contains the following fields.
<span class="scilabfkeyword">endfunction</span>
<span class="scilabcomment">// The initial guess</span>
<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span><span class="scilabdefault">,</span><span class="scilabnumber">0.1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabcomment">// The expected solution : only 4 digits are guaranteed</span>
-<span class="scilabid">xopt</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">4</span> <span class="scilabnumber">4</span><span class="scilabopenclose">]</span>
-<span class="scilabid">fopt</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span> <span class="scilaboperator">-</span><span class="scilabnumber">64</span> <span class="scilaboperator">-</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span><span class="scilabnumber">8</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span>
-<span class="scilabid">maxfopt</span> <span class="scilaboperator">=</span> <span class="scilabnumber">0</span>
+<span class="scilabcomment">//Linear Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Run fminimax</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">maxfval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">fminimax</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+Here we build up on the previous example by adding linear equality constraints.
+We add the following constraints to the problem specified above:
+<p class="para"><span><img src='./_LaTeX_fminimax.xml_5.png' style='position:relative;top:17px;width:134px;height:42px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 3:</span>
+<span class="scilabcomment">//Objective function</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">304</span><span class="scilabdefault">;</span> <span class="scilabcomment">//Objectives</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span><span class="scilabnumber">18</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">8</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The initial guess</span>
+<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span><span class="scilabdefault">,</span><span class="scilabnumber">0.1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Linear Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear equality constraints below.</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Run fminimax</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">maxfval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">fminimax</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+In this example, we proceed to add the upper and lower bounds to the objective function.
+<p class="para"><span><img src='./_LaTeX_fminimax.xml_6.png' style='position:relative;top:17px;width:145px;height:42px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 4:</span>
+<span class="scilabcomment">//Objective function</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">304</span><span class="scilabdefault">;</span> <span class="scilabcomment">//Objectives</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span><span class="scilabnumber">18</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">8</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The initial guess</span>
+<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span><span class="scilabdefault">,</span><span class="scilabnumber">0.1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Linear Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear equality constraints below.</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//The upper and lower bounds for the objective function are defined in simple vectors as shown below.</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabconstants">%inf</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabcomment">//</span>
<span class="scilabcomment">// Run fminimax</span>
-<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">maxfval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">fminimax</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabopenclose">)</span>
-<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">maxfval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">fminimax</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// A case where we provide the gradient of the objective</span>
-<span class="scilabcomment">// functions and the Jacobian matrix of the constraints.</span>
-<span class="scilabcomment">// The objective function and its gradient</span>
+
+<div class="refsection"><h3 class="title">Example</h3>
+Finally, we add the non-linear constraints to the problem. Note that there is a notable difference in the way this is done as compared to defining the linear constraints.
+ <p class="para"><span><img src='./_LaTeX_fminimax.xml_7.png' style='position:relative;top:22px;width:139px;height:52px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 5:</span>
+<span class="scilabcomment">//Objective function</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">304</span><span class="scilabdefault">;</span> <span class="scilabcomment">//Objectives</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span><span class="scilabnumber">18</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">8</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The initial guess</span>
+<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span><span class="scilabdefault">,</span><span class="scilabnumber">0.1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Linear Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear equality constraints below.</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//The upper and lower bounds for the objective function are defined in simple vectors as shown below.</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabconstants">%inf</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabcomment">//</span>
+<span class="scilabcomment">//Nonlinear constraints are required to be defined as a single function with the inequality and equality constraints in separate vectors.</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">c</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">ceq</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">nlc</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">c</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">ceq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// Run fminimax</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">maxfval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">fminimax</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">We can further enhance the functionality of fminimax by setting input options. We can pre-define the gradient of the objective function and/or the hessian of the lagrange function and thereby improve the speed of computation. This is elaborated on in example 6. We take the following problem, specify the gradients, and the jacobian matrix of the constraints. We also set solver parameters using the options.</p>
+<p class="para"><span><img src='./_LaTeX_fminimax.xml_8.png' style='position:relative;top:17px;width:205px;height:42px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 6: Using the available options</span>
<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">304</span><span class="scilabdefault">;</span>
<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
@@ -173,6 +285,7 @@ It has type &#0034;struct&#0034; and contains the following fields.
<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">8</span><span class="scilabdefault">;</span>
<span class="scilabfkeyword">endfunction</span>
+
<span class="scilabcomment">// Defining gradient of myfun</span>
<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">G</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfungrad</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
<span class="scilabinputoutputargs">G</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span> <span class="scilabnumber">4</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">48</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
@@ -200,7 +313,7 @@ It has type &#0034;struct&#0034; and contains the following fields.
<span class="scilabinputoutputargs">DCeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span>
<span class="scilabfkeyword">endfunction</span>
<span class="scilabcomment">// Test with both gradient of objective and gradient of constraints</span>
-<span class="scilabid">minimaxOptions</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradObj</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabfunctionid">myfungrad</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradCon</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabfunctionid">cgrad</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabid">minimaxOptions</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">3000</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">600</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradObj</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabfunctionid">myfungrad</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradCon</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabfunctionid">cgrad</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
<span class="scilabcomment">// The initial guess</span>
<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">10</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabcomment">// The expected solution : only 4 digits are guaranteed</span>
@@ -210,6 +323,30 @@ It has type &#0034;struct&#0034; and contains the following fields.
<span class="scilabcomment">// Run fminimax</span>
<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">maxfval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">fminimax</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">confun</span><span class="scilabdefault">,</span> <span class="scilabid">minimaxOptions</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+<div class="refsection"><h3 class="title">Example</h3>
+Infeasible Problems: Find x in R^2 such that it minimizes the objective function used above under the following constraints:
+<p class="para"><span><img src='./_LaTeX_fminimax.xml_9.png' style='position:relative;top:19px;width:158px;height:46px'/></span></p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 7:</span>
+<span class="scilabcomment">//Objective function</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">304</span><span class="scilabdefault">;</span> <span class="scilabcomment">//Objectives</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span><span class="scilabnumber">18</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">8</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The initial guess</span>
+<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span><span class="scilabdefault">,</span><span class="scilabnumber">0.1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Linear Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear equality constraints below.</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">5</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">11</span><span class="scilabdefault">;</span><span class="scilabnumber">8</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Run fminimax</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">maxfval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">fminimax</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
<div class="refsection"><h3 class="title">Authors</h3>
<ul class="itemizedlist"><li class="member">Animesh Baranawal</li></ul></div>
<br />
@@ -223,7 +360,7 @@ It has type &#0034;struct&#0034; and contains the following fields.
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/fminunc.html b/help/en_US/scilab_en_US_help/fminunc.html
index d5f0786..b2e9059 100644
--- a/help/en_US/scilab_en_US_help/fminunc.html
+++ b/help/en_US/scilab_en_US_help/fminunc.html
@@ -16,11 +16,11 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
- <span class="next"><a href="linprog.html">linprog &gt;&gt;</a></span>
+ <span class="next"><a href="intfminbnd.html">intfminbnd &gt;&gt;</a></span>
</td>
</tr></table>
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; fminunc</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; fminunc</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">fminunc</h1>
@@ -45,59 +45,81 @@
<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">output</span><span class="default">,</span><span class="default">gradient</span><span class="default">]=</span><span class="functionid">fminunc</span><span class="default">(.....)</span>
<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">output</span><span class="default">,</span><span class="default">gradient</span><span class="default">,</span><span class="default">hessian</span><span class="default">]=</span><span class="functionid">fminunc</span><span class="default">(.....)</span></pre></div></div>
-<div class="refsection"><h3 class="title">Parameters</h3>
+<div class="refsection"><h3 class="title">Input Parameters</h3>
<dl><dt><span class="term">f :</span>
- <dd><p class="para">a function, representing the objective function of the problem</p></dd></dt>
+ <dd><p class="para">A function, representing the objective function of the problem.</p></dd></dt>
<dt><span class="term">x0 :</span>
- <dd><p class="para">a vector of doubles, containing the starting of variables.</p></dd></dt>
- <dt><span class="term">options:</span>
- <dd><p class="para">a list, containing the option for user to specify. See below for details.</p></dd></dt>
- <dt><span class="term">xopt :</span>
- <dd><p class="para">a vector of doubles, the computed solution of the optimization problem.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the starting values of variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of Variables.</p></dd></dt>
+ <dt><span class="term">options :</span>
+ <dd><p class="para">A list, containing the options for user to specify. See below for details.</p></dd></dt></dl></div>
+ <div class="refsection"><h3 class="title">Outputs</h3>
+ <dl><dt><span class="term">xopt :</span>
+ <dd><p class="para">A vector of doubles, containing the computed solution of the optimization problem.</p></dd></dt>
<dt><span class="term">fopt :</span>
- <dd><p class="para">a scalar of double, the function value at x.</p></dd></dt>
+ <dd><p class="para">A double, containing the the function value at x.</p></dd></dt>
<dt><span class="term">exitflag :</span>
- <dd><p class="para">a scalar of integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
- <dt><span class="term">output :</span>
- <dd><p class="para">a structure, containing the information about the optimization. See below for details.</p></dd></dt>
+ <dd><p class="para">An integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
+ <dt><span class="term">output :</span>
+ <dd><p class="para">A structure, containing the information about the optimization. See below for details.</p></dd></dt>
<dt><span class="term">gradient :</span>
- <dd><p class="para">a vector of doubles, containing the the gradient of the solution.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the objective&#0039;s gradient of the solution.</p></dd></dt>
<dt><span class="term">hessian :</span>
- <dd><p class="para">a matrix of doubles, containing the the hessian of the solution.</p></dd></dt></dl></div>
+ <dd><p class="para">A matrix of doubles, containing the lagrangian&#0039;s hessian of the solution.</p></dd></dt></dl></div>
<div class="refsection"><h3 class="title">Description</h3>
- <p class="para">Search the minimum of an unconstrained optimization problem specified by :
-Find the minimum of f(x) such that</p>
+ <p class="para">Search the minimum of an unconstrained optimization problem specified by :</p>
+ <p class="para">Find the minimum of f(x) such that</p>
<p class="para"><span><img src='./_LaTeX_fminunc.xml_1.png' style='position:relative;top:9px;width:115px;height:26px'/></span></p>
- <p class="para">The routine calls Ipopt for solving the Un-constrained Optimization problem, Ipopt is a library written in C++.</p>
- <p class="para">The options allows the user to set various parameters of the Optimization problem.
-It should be defined as type &#0034;list&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>Syntax : options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---], &#0034;Gradient&#0034;, ---, &#0034;Hessian&#0034;, ---);</li>
-<li>MaxIter : a Scalar, containing the Maximum Number of Iteration that the solver should take.</li>
-<li>CpuTime : a Scalar, containing the Maximum amount of CPU Time that the solver should take.</li>
-<li>Gradient : a function, representing the gradient function of the Objective in Vector Form.</li>
-<li>Hessian : a function, representing the hessian function of the Objective in Symmetric Matrix Form.</li>
-<li>Default Values : options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600]);</li></ul></p>
- <p class="para">The exitflag allows to know the status of the optimization which is given back by Ipopt.
-<ul class="itemizedlist"><li>exitflag=0 : Optimal Solution Found</li>
-<li>exitflag=1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
-<li>exitflag=2 : Maximum CPU Time exceeded. Output may not be optimal.</li>
-<li>exitflag=3 : Stop at Tiny Step.</li>
-<li>exitflag=4 : Solved To Acceptable Level.</li>
-<li>exitflag=5 : Converged to a point of local infeasibility.</li></ul></p>
- <p class="para">For more details on exitflag see the ipopt documentation, go to http://www.coin-or.org/Ipopt/documentation/</p>
- <p class="para">The output data structure contains detailed informations about the optimization process.
-It has type &#0034;struct&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>output.Iterations: The number of iterations performed during the search</li>
-<li>output.Cpu_Time: The total cpu-time spend during the search</li>
-<li>output.Objective_Evaluation: The number of Objective Evaluations performed during the search</li>
-<li>output.Dual_Infeasibility: The Dual Infeasiblity of the final soution</li>
-<li>output.Message: The output message for the problem</li></ul></p>
+ <p class="para">Fminunc calls Ipopt which is an optimization library written in C++, to solve the unconstrained optimization problem.</p>
+ <p class="para"><h3 class="title">Options</h3>
+The options allow the user to set various parameters of the optimization problem. The syntax for the options is given by:</p>
+ <p class="para">options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---], &#0034;GradObj&#0034;, ---, &#0034;Hessian&#0034;, ---, &#0034;GradCon&#0034;, ---);</p>
+ <p class="para"><ul class="itemizedlist"><li>MaxIter : A Scalar, specifying the Maximum Number of Iterations that the solver should take.</li>
+<li>CpuTime : A Scalar, specifying the Maximum amount of CPU Time in seconds that the solver should take.</li>
+<li>Gradient: A function, representing the gradient function of the objective in Vector Form.</li>
+<li>Hessian : A function, representing the hessian function of the lagrange in the form of a Symmetric Matrix with input parameters as x, objective factor and lambda. Refer to Example 5 for definition of lagrangian hessian function.</li></ul>
+The default values for the various items are given as:</p>
+ <p class="para">options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600]);</p>
+ <p class="para">The exitflag allows the user to know the status of the optimization which is returned by Ipopt. The values it can take and what they indicate is described below:
+<ul class="itemizedlist"><li>0 : Optimal Solution Found</li>
+<li>1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
+<li>2 : Maximum amount of CPU Time exceeded. Output may not be optimal.</li>
+<li>3 : Stop at Tiny Step.</li>
+<li>4 : Solved To Acceptable Level.</li>
+<li>5 : Converged to a point of local infeasibility.</li></ul></p>
+ <p class="para">For more details on exitflag, see the Ipopt documentation which can be found on http://www.coin-or.org/Ipopt/documentation/</p>
+ <p class="para">The output data structure contains detailed information about the optimization process.
+It is of type &#0034;struct&#0034; and contains the following fields.
+<ul class="itemizedlist"><li>output.Iterations: The number of iterations performed.</li>
+<li>output.Cpu_Time : The total cpu-time taken.</li>
+<li>output.Objective_Evaluation: The number of objective evaluations performed.</li>
+<li>output.Dual_Infeasibility : The Dual Infeasiblity of the final soution.</li>
+<li>output.Message: The output message for the problem.</li></ul></p>
<p class="para"></p></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Find x in R^2 such that it minimizes the Rosenbrock function</span>
-<span class="scilabcomment">//f = 100*(x2 - x1^2)^2 + (1-x1)^2</span>
+ <p class="para">A few examples displaying the various functionalities of fminunc have been provided below. You will find a series of problems and the appropriate code snippets to solve them.</p>
+
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">We begin with the minimization of a simple non-linear function.</p>
+ <p class="para">Find x in R^2 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_fminunc.xml_2.png' style='position:relative;top:10px;width:160px;height:28px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 1: Simple non-linear function.</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Starting point</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Calling Ipopt</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">fminunc</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">We now look at the Rosenbrock function, a non-convex performance test problem for optimization routines. We use this example to illustrate how we can enhance the functionality of fminunc by setting input options. We can pre-define the gradient of the objective function and/or the hessian of the lagrange function and thereby improve the speed of computation. This is elaborated on in example 2. We also set solver parameters using the options.</p>
+ <p class="para"><span><img src='./_LaTeX_fminunc.xml_3.png' style='position:relative;top:10px;width:287px;height:28px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 2: The Rosenbrock function.</span>
<span class="scilabcomment">//Objective function to be minimised</span>
<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilabnumber">100</span><span class="scilaboperator">*</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
@@ -113,28 +135,16 @@ It has type &#0034;struct&#0034; and contains the following fields.
<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1200</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span> <span class="scilabnumber">400</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">400</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabnumber">400</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span> <span class="scilabnumber">200</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabfkeyword">endfunction</span>
<span class="scilabcomment">//Options</span>
-<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">Gradient</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fGrad</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">Hessian</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fHess</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">GradObj</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fGrad</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">Hessian</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fHess</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
<span class="scilabcomment">//Calling Ipopt</span>
<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">gradient</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">fminunc</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span>
<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Find x in R^2 such that the below function is minimum</span>
-<span class="scilabcomment">//f = x1^2 + x2^2</span>
-<span class="scilabcomment">//Objective function to be minimised</span>
-<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
-<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
-<span class="scilabfkeyword">endfunction</span>
-<span class="scilabcomment">//Starting point</span>
-<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabcomment">//Calling Ipopt</span>
-<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">fminunc</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabopenclose">)</span>
-<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
-
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//The below problem is an unbounded problem:</span>
-<span class="scilabcomment">//Find x in R^2 such that the below function is minimum</span>
-<span class="scilabcomment">//f = - x1^2 - x2^2</span>
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">Unbounded Problems: Find x in R^2 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_fminunc.xml_4.png' style='position:relative;top:10px;width:134px;height:28px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 3: Unbounded objective function.</span>
<span class="scilabcomment">//Objective function to be minimised</span>
<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
@@ -150,7 +160,7 @@ It has type &#0034;struct&#0034; and contains the following fields.
<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabfkeyword">endfunction</span>
<span class="scilabcomment">//Options</span>
-<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">Gradient</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fGrad</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">Hessian</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fHess</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">GradObj</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fGrad</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">Hessian</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fHess</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
<span class="scilabcomment">//Calling Ipopt</span>
<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">gradient</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">fminunc</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
@@ -167,11 +177,11 @@ It has type &#0034;struct&#0034; and contains the following fields.
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
- <span class="next"><a href="linprog.html">linprog &gt;&gt;</a></span>
+ <span class="next"><a href="intfminbnd.html">intfminbnd &gt;&gt;</a></span>
</td>
</tr></table>
diff --git a/help/en_US/scilab_en_US_help/index.html b/help/en_US/scilab_en_US_help/index.html
index 59a4ed9..a12788e 100644
--- a/help/en_US/scilab_en_US_help/index.html
+++ b/help/en_US/scilab_en_US_help/index.html
@@ -31,8 +31,14 @@
<h3 class="book-title">FOSSEE Optimization Toolbox</h3>
<ul class="list-part"><a name="fossee_optimization_toolbox_manual"></a><div class="info"></div>
-<li><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html" class="part">FOSSEE Optimization Toolbox</a>
-<ul class="list-chapter"><li><a href="fgoalattain.html" class="refentry">fgoalattain</a> &#8212; <span class="refentry-description">Solves a multiobjective goal attainment problem</span></li>
+<li><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html" class="part">FOSSEE Optimization Toolbox</a>
+<ul class="list-chapter"><li><a href="cbcintlinprog.html" class="refentry">cbcintlinprog</a> &#8212; <span class="refentry-description">Solves a mixed integer linear programming constrained optimization problem in intlinprog format.</span></li>
+
+
+
+
+
+<li><a href="fgoalattain.html" class="refentry">fgoalattain</a> &#8212; <span class="refentry-description">Solves a multiobjective goal attainment problem</span></li>
@@ -44,7 +50,7 @@
-<li><a href="fmincon.html" class="refentry">fmincon</a> &#8212; <span class="refentry-description">Solves a multi-variable constrainted optimization problem</span></li>
+<li><a href="fmincon.html" class="refentry">fmincon</a> &#8212; <span class="refentry-description">Solves a multi-variable constrainted optimization problem.</span></li>
@@ -62,6 +68,36 @@
+<li><a href="intfminbnd.html" class="refentry">intfminbnd</a> &#8212; <span class="refentry-description">Solves a multi-variable optimization problem on a bounded interval</span></li>
+
+
+
+
+
+<li><a href="intfmincon.html" class="refentry">intfmincon</a> &#8212; <span class="refentry-description">Solves a constrainted multi-variable mixed integer non linear programming problem</span></li>
+
+
+
+
+
+<li><a href="intfminimax.html" class="refentry">intfminimax</a> &#8212; <span class="refentry-description">Solves minimax constraint problem</span></li>
+
+
+
+
+
+<li><a href="intfminunc.html" class="refentry">intfminunc</a> &#8212; <span class="refentry-description">Solves an unconstrainted multi-variable mixed integer non linear programming optimization problem</span></li>
+
+
+
+
+
+<li><a href="intqpipopt.html" class="refentry">intqpipopt</a> &#8212; <span class="refentry-description">Solves a linear quadratic problem.</span></li>
+
+
+
+
+
<li><a href="linprog.html" class="refentry">linprog</a> &#8212; <span class="refentry-description">Solves a linear programming problem.</span></li>
@@ -106,7 +142,7 @@
<li><a href="symphonymat.html" class="refentry">symphonymat</a> &#8212; <span class="refentry-description">Solves a mixed integer linear programming constrained optimization problem in intlinprog format.</span></li>
-<li><a href="section_316c7f5a42ba69316753082a567f2a1a.html" class="chapter">Symphony Native Functions</a>
+<li><a href="section_5fc7ef02a133896efbd190355314d3fc.html" class="chapter">Symphony Native Functions</a>
<ul class="list-refentry"><li><a href="sym_addConstr.html" class="refentry">sym_addConstr</a> &#8212; <span class="refentry-description">Add a new constraint</span></li>
diff --git a/help/en_US/scilab_en_US_help/intfminbnd.html b/help/en_US/scilab_en_US_help/intfminbnd.html
new file mode 100644
index 0000000..c494c4d
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/intfminbnd.html
@@ -0,0 +1,178 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>intfminbnd</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="fminunc.html">&lt;&lt; fminunc</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="intfmincon.html">intfmincon &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; intfminbnd</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">intfminbnd</h1>
+ <p class="refpurpose">Solves a multi-variable optimization problem on a bounded interval</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfminbnd</span><span class="default">(</span><span class="default">f</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">x1</span><span class="default">,</span><span class="default">x2</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfminbnd</span><span class="default">(</span><span class="default">f</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">x1</span><span class="default">,</span><span class="default">x2</span><span class="default">,</span><span class="default">options</span><span class="default">)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">] = </span><span class="functionid">intfminbnd</span><span class="default">(.....)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">]= </span><span class="functionid">intfminbnd</span><span class="default">(.....)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">output</span><span class="default">]=</span><span class="functionid">intfminbnd</span><span class="default">(.....)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">gradient</span><span class="default">,</span><span class="default">hessian</span><span class="default">]=</span><span class="functionid">intfminbnd</span><span class="default">(.....)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Input Parameters</h3>
+ <dl><dt><span class="term">f :</span>
+ <dd><p class="para">A function, representing the objective function of the problem.</p></dd></dt>
+ <dt><span class="term"><span><img src='./_LaTeX_intfminbnd.xml_1.png' style='position:relative;top:5px;width:19px;height:14px'/></span> :</span>
+ <dd><p class="para">A vector, containing the lower bound of the variables of size (1 X n) or (n X 1) where n is number of variables. If it is empty it means that the lower bound is <span><img src='./_LaTeX_intfminbnd.xml_2.png' style='position:relative;top:4px;width:33px;height:16px'/></span>.</p></dd></dt>
+ <dt><span class="term"><span><img src='./_LaTeX_intfminbnd.xml_3.png' style='position:relative;top:5px;width:19px;height:14px'/></span> :</span>
+ <dd><p class="para">A vector, containing the upper bound of the variables of size (1 X n) or (n X 1) or (0 X 0) where n is the number of variables. If it is empty it means that the upper bound is <span><img src='./_LaTeX_intfminbnd.xml_4.png' style='position:relative;top:2px;width:20px;height:11px'/></span>.</p></dd></dt>
+ <dt><span class="term">intcon :</span>
+ <dd><p class="para">A vector of integers, representing the variables that are constrained to be integers.</p></dd></dt>
+ <dt><span class="term">options :</span>
+ <dd><p class="para">A list, containing the options for user to specify. See below for details.</p></dd></dt></dl></div>
+ <div class="refsection"><h3 class="title">Outputs</h3>
+ <dl><dt><span class="term">xopt :</span>
+ <dd><p class="para">A vector of doubles, containing the computed solution of the optimization problem.</p></dd></dt>
+ <dt><span class="term">fopt :</span>
+ <dd><p class="para">A double, containing the the function value at x.</p></dd></dt>
+ <dt><span class="term">exitflag :</span>
+ <dd><p class="para">An integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
+ <dt><span class="term">gradient :</span>
+ <dd><p class="para">A vector of doubles, containing the objective&#0039;s gradient of the solution.</p></dd></dt>
+ <dt><span class="term">hessian :</span>
+ <dd><p class="para">A matrix of doubles, containing the Lagrangian&#0039;s hessian of the solution.</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Search the minimum of a multi-variable function on bounded interval specified by :
+Find the minimum of f(x) such that</p>
+ <p class="para"><span><img src='./_LaTeX_intfminbnd.xml_5.png' style='position:relative;top:29px;width:179px;height:66px'/></span></p>
+ <p class="para">intfminbnd calls Bonmin, which is an optimization library written in C++, to solve the bound optimization problem.</p>
+ <p class="para"><h3 class="title">Options</h3>
+The options allow the user to set various parameters of the Optimization problem. The syntax for the options is given by:</p>
+ <p class="para">options= list(&#0034;IntegerTolerance&#0034;, [---], &#0034;MaxNodes&#0034;,[---], &#0034;MaxIter&#0034;, [---], &#0034;AllowableGap&#0034;,[---] &#0034;CpuTime&#0034;, [---],&#0034;gradobj&#0034;, &#0034;off&#0034;, &#0034;hessian&#0034;, &#0034;off&#0034; );
+<ul class="itemizedlist"><li>IntegerTolerance : A Scalar, a number with that value of an integer is considered integer.</li>
+<li>MaxNodes : A Scalar, containing the maximum number of nodes that the solver should search.</li>
+<li>CpuTime : A scalar, specifying the maximum amount of CPU Time in seconds that the solver should take.</li>
+<li>AllowableGap : A scalar, that specifies the gap between the computed solution and the the objective value of the best known solution stop, at which the tree search can be stopped.</li>
+<li>MaxIter : A scalar, specifying the maximum number of iterations that the solver should take.</li>
+<li>gradobj : A string, to turn on or off the user supplied objective gradient.</li>
+<li>hessian : A scalar, to turn on or off the user supplied objective hessian.</li></ul>
+ The default values for the various items are given as:</p>
+ <p class="para">options = list(&#0039;integertolerance&#0039;,1d-06,&#0039;maxnodes&#0039;,2147483647,&#0039;cputime&#0039;,1d10,&#0039;allowablegap&#0039;,0,&#0039;maxiter&#0039;,2147483647,&#0039;gradobj&#0039;,&#0034;off&#0034;,&#0039;hessian&#0039;,&#0034;off&#0034;)</p>
+
+ <p class="para">The exitflag allows the user to know the status of the optimization which is returned by Bonmin. The values it can take and what they indicate is described below:
+<ul class="itemizedlist"><li>0 : Optimal Solution Found</li>
+<li>1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
+<li>2 : Maximum amount of CPU Time exceeded. Output may not be optimal.</li>
+<li>3 : Stop at Tiny Step.</li>
+<li>4 : Solved To Acceptable Level.</li>
+<li>5 : Converged to a point of local infeasibility.</li></ul></p>
+ <p class="para">For more details on exitflag, see the Bonmin documentation which can be found on http://www.coin-or.org/Bonmin</p>
+ <p class="para"></p></div>
+<p class="para">A few examples displaying the various functionalities of intfminbnd have been provided below. You will find a series of problems and the appropriate code snippets to solve them.</p>
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">We start with a simple objective function. Find x in R^6 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_intfminbnd.xml_6.png' style='position:relative;top:12px;width:506px;height:128px'/></span></p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 1:</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabnumber">0</span>
+<span class="scilabskeyword">for</span> <span class="scilabid">i</span> <span class="scilaboperator">=</span><span class="scilabnumber">1</span><span class="scilabspecial">:</span><span class="scilabnumber">6</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">y</span><span class="scilaboperator">+</span><a class="scilabcommand" href="scilab://sin">sin</a><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabid">i</span><span class="scilabopenclose">)</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabskeyword">end</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Variable bounds</span>
+<span class="scilabid">x1</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">x2</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span> <span class="scilabnumber">3</span> <span class="scilabnumber">4</span><span class="scilabopenclose">]</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">intfminbnd</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span> <span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span> <span class="scilabid">x1</span><span class="scilabdefault">,</span> <span class="scilabid">x2</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ Here we solve a bounded objective function in R^6. We use this function to illustrate how we can further enhance the functionality of fminbnd by setting input options. We can pre-define the gradient of the objective function and/or the hessian of the lagrange function and thereby improve the speed of computation. This is elaborated on in example 2. We also set solver parameters using the options.
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 2:</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabnumber">0</span>
+<span class="scilabskeyword">for</span> <span class="scilabid">i</span> <span class="scilaboperator">=</span><span class="scilabnumber">1</span><span class="scilabspecial">:</span><span class="scilabnumber">6</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">y</span><span class="scilaboperator">+</span><a class="scilabcommand" href="scilab://sin">sin</a><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabid">i</span><span class="scilabopenclose">)</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabskeyword">end</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Variable bounds</span>
+<span class="scilabid">x1</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">x2</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span> <span class="scilabnumber">3</span> <span class="scilabnumber">4</span><span class="scilabopenclose">]</span>
+<span class="scilabcomment">//Options</span>
+<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">100</span><span class="scilabopenclose">]</span><span class="scilabopenclose">)</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">intfminbnd</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span> <span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span> <span class="scilabid">x1</span><span class="scilabdefault">,</span> <span class="scilabid">x2</span><span class="scilabdefault">,</span> <span class="scilabid">options</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Unbounded Problems: Find x in R^2 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_intfminbnd.xml_7.png' style='position:relative;top:12px;width:237px;height:148px'/></span></p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">///Example 3: Unbounded problem:</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabopenclose">(</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">+</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Variable bounds</span>
+<span class="scilabid">x1</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</span> <span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">x2</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span> <span class="scilabconstants">%inf</span> <span class="scilabdefault">,</span> <span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Options</span>
+<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">100</span><span class="scilabopenclose">]</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">intfminbnd</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span> <span class="scilabid">x1</span><span class="scilabdefault">,</span> <span class="scilabid">x2</span><span class="scilabdefault">,</span> <span class="scilabid">options</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Harpreet Singh</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="fminunc.html">&lt;&lt; fminunc</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="intfmincon.html">intfmincon &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/help/en_US/scilab_en_US_help/intfmincon.html b/help/en_US/scilab_en_US_help/intfmincon.html
new file mode 100644
index 0000000..8a19596
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/intfmincon.html
@@ -0,0 +1,339 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>intfmincon</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="intfminbnd.html">&lt;&lt; intfminbnd</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="intfminimax.html">intfminimax &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; intfmincon</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">intfmincon</h1>
+ <p class="refpurpose">Solves a constrainted multi-variable mixed integer non linear programming problem</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfmincon</span><span class="default">(</span><span class="default">f</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfmincon</span><span class="default">(</span><span class="default">f</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfmincon</span><span class="default">(</span><span class="default">f</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfmincon</span><span class="default">(</span><span class="default">f</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">nlc</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfmincon</span><span class="default">(</span><span class="default">f</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">nlc</span><span class="default">,</span><span class="default">options</span><span class="default">)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">] = </span><span class="functionid">intfmincon</span><span class="default">(.....)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">]= </span><span class="functionid">intfmincon</span><span class="default">(.....)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">gradient</span><span class="default">]=</span><span class="functionid">intfmincon</span><span class="default">(.....)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">gradient</span><span class="default">,</span><span class="default">hessian</span><span class="default">]=</span><span class="functionid">intfmincon</span><span class="default">(.....)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Input Parameters</h3>
+ <dl><dt><span class="term">f :</span>
+ <dd><p class="para">A function, representing the objective function of the problem.</p></dd></dt>
+ <dt><span class="term">x0 :</span>
+ <dd><p class="para">A vector of doubles, containing the starting values of variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
+ <dt><span class="term">intcon :</span>
+ <dd><p class="para">A vector of integers, representing the variables that are constrained to be integers.</p></dd></dt>
+ <dt><span class="term">A :</span>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear inequality constraints of size (m X n) where &#0039;m&#0039; is the number of linear inequality constraints.</p></dd></dt>
+ <dt><span class="term">b :</span>
+ <dd><p class="para">A vector of doubles, related to &#0039;A&#0039; and represents the linear coefficients in the linear inequality constraints of size (m X 1).</p></dd></dt>
+ <dt><span class="term">Aeq :</span>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear equality constraints of size (m1 X n) where &#0039;m1&#0039; is the number of linear equality constraints.</p></dd></dt>
+ <dt><span class="term">beq :</span>
+ <dd><p class="para">A vector of double, vector of doubles, related to &#0039;Aeq&#0039; and represents the linear coefficients in the equality constraints of size (m1 X 1).</p></dd></dt>
+ <dt><span class="term">lb :</span>
+ <dd><p class="para">A vector of doubles, containing the lower bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
+ <dt><span class="term">ub :</span>
+ <dd><p class="para">A vector of doubles, containing the upper bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
+ <dt><span class="term">nlc :</span>
+ <dd><p class="para">A function, representing the Non-linear Constraints functions(both Equality and Inequality) of the problem. It is declared in such a way that non-linear inequality constraints (c), and the non-linear equality constraints (ceq) are defined as separate single row vectors.</p></dd></dt>
+ <dt><span class="term">options :</span>
+ <dd><p class="para">A list, containing the option for user to specify. See below for details.</p></dd></dt></dl></div>
+<div class="refsection"><h3 class="title">Outputs</h3>
+ <dl><dt><span class="term">xopt :</span>
+ <dd><p class="para">A vector of doubles, containing the the computed solution of the optimization problem.</p></dd></dt>
+ <dt><span class="term">fopt :</span>
+ <dd><p class="para">A double, containing the value of the function at xopt.</p></dd></dt>
+ <dt><span class="term">exitflag :</span>
+ <dd><p class="para">An integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
+ <dt><span class="term">gradient :</span>
+ <dd><p class="para">a vector of doubles, containing the Objective&#0039;s gradient of the solution.</p></dd></dt>
+ <dt><span class="term">hessian :</span>
+ <dd><p class="para">a matrix of doubles, containing the Objective&#0039;s hessian of the solution.</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Search the minimum of a mixed integer constrained optimization problem specified by :
+Find the minimum of f(x) such that</p>
+ <p class="para"><span><img src='./_LaTeX_intfmincon.xml_1.png' style='position:relative;top:74px;width:239px;height:156px'/></span></p>
+ <p class="para">intfmincon calls Bonmin, an optimization library written in C++, to solve the Constrained Optimization problem.</p>
+ <p class="para"><h3 class="title">Options</h3>
+The options allow the user to set various parameters of the Optimization problem. The syntax for the options is given by:</p>
+ <p class="para">options= list(&#0034;IntegerTolerance&#0034;, [---], &#0034;MaxNodes&#0034;,[---], &#0034;MaxIter&#0034;, [---], &#0034;AllowableGap&#0034;,[---] &#0034;CpuTime&#0034;, [---],&#0034;gradobj&#0034;, &#0034;off&#0034;, &#0034;hessian&#0034;, &#0034;off&#0034; );
+<ul class="itemizedlist"><li>IntegerTolerance : A Scalar, a number with that value of an integer is considered integer.</li>
+<li>MaxNodes : A Scalar, containing the maximum number of nodes that the solver should search.</li>
+<li>CpuTime : A scalar, specifying the maximum amount of CPU Time in seconds that the solver should take.</li>
+<li>AllowableGap : A scalar, that specifies the gap between the computed solution and the the objective value of the best known solution stop, at which the tree search can be stopped.</li>
+<li>MaxIter : A scalar, specifying the maximum number of iterations that the solver should take.</li>
+<li>gradobj : A string, to turn on or off the user supplied objective gradient.</li>
+<li>hessian : A scalar, to turn on or off the user supplied objective hessian.</li></ul>
+ The default values for the various items are given as:</p>
+ <p class="para">options = list(&#0039;integertolerance&#0039;,1d-06,&#0039;maxnodes&#0039;,2147483647,&#0039;cputime&#0039;,1d10,&#0039;allowablegap&#0039;,0,&#0039;maxiter&#0039;,2147483647,&#0039;gradobj&#0039;,&#0034;off&#0034;,&#0039;hessian&#0039;,&#0034;off&#0034;)</p>
+ <p class="para"></p>
+ <p class="para">The exitflag allows to know the status of the optimization which is given back by Ipopt.
+<ul class="itemizedlist"><li>0 : Optimal Solution Found</li>
+<li>1 : InFeasible Solution.</li>
+<li>2 : Objective Function is Continuous Unbounded.</li>
+<li>3 : Limit Exceeded.</li>
+<li>4 : User Interrupt.</li>
+<li>5 : MINLP Error.</li></ul></p>
+ <p class="para">For more details on exitflag, see the Bonmin documentation which can be found on http://www.coin-or.org/Bonmin</p>
+ <p class="para"></p></div>
+<p class="para">A few examples displaying the various functionalities of intfmincon have been provided below. You will find a series of problems and the appropriate code snippets to solve them.</p>
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Here we solve a simple objective function, subjected to three linear inequality constraints.</p>
+ <p class="para">Find x in R^2 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_intfmincon.xml_2.png' style='position:relative;top:12px;width:230px;height:184px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 1:</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">y</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">dy</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">dy</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Starting point</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Integer constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Initializing the linear inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Calling Bonmin</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">grad</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">intfmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Here we build up on the previous example by adding linear equality constraints.
+We add the following constraints to the problem specified above:</p>
+ <p class="para"><span><img src='./_LaTeX_intfmincon.xml_3.png' style='position:relative;top:17px;width:134px;height:42px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 2:</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">y</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">dy</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">dy</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Starting point</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Integer constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Initializing the linear inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Linear equality constraints</span>
+<span class="scilabid">Aeq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Calling Bonmin</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">grad</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">intfmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">In this example, we proceed to add the upper and lower bounds to the objective function.</p>
+ <p class="para">Find x in R^2 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_intfmincon.xml_4.png' style='position:relative;top:17px;width:145px;height:42px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 3:</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">y</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">dy</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">dy</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Starting point</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Integer constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Initializing the linear inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Linear equality constraints</span>
+<span class="scilabid">Aeq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Adding the variable bounds </span>
+<span class="scilabid">lb</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabconstants">%inf</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Calling Bonmin</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">grad</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">intfmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Finally, we add the non-linear constraints to the problem. Note that there is a notable difference in the way this is done as compared to defining the linear constraints.</p>
+ <p class="para"><span><img src='./_LaTeX_intfmincon.xml_5.png' style='position:relative;top:12px;width:240px;height:156px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 4:</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">y</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">dy</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">dy</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Starting point, linear constraints and variable bounds</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0.1</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0.1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">Aeq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">lb</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Nonlinear constraints</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">c</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">ceq</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">cg</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">cgeq</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">nlc</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">c</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">2</span> <span class="scilabdefault">,</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">10</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">ceq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">cg</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilabdefault">,</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span> <span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilabdefault">,</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilabdefault">,</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">cgeq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Options</span>
+<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">GradObj</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">on</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradCon</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">on</span><span class="scilabstring">&#0034;</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Calling Ipopt</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">intfmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabfunctionid">nlc</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">We can further enhance the functionality of intfmincon by setting input options. We can pre-define the gradient of the objective function and/or the hessian of the lagrange function and thereby improve the speed of computation. This is elaborated on in example 5. We take the following problem and add simple non-linear constraints, specify the gradients and the hessian of the Lagrange Function. We also set solver parameters using the options.</p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 5:</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">y</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">dy</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">dy</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Starting point, linear constraints and variable bounds</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0.1</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0.1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">Aeq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">lb</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Nonlinear constraints</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">c</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">ceq</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">cg</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">cgeq</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">nlc</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">c</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">2</span> <span class="scilabdefault">,</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">10</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">ceq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">cg</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilabdefault">,</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span> <span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilabdefault">,</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilabdefault">,</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">cgeq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Options</span>
+<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">GradObj</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">on</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradCon</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">on</span><span class="scilabstring">&#0034;</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Calling Ipopt</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">intfmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabfunctionid">nlc</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Infeasible Problems: Find x in R^3 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_intfmincon.xml_6.png' style='position:relative;top:12px;width:218px;height:290px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 6:</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">y</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">dy</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">dy</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Starting point, linear constraints and variable bounds</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">Aeq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">lb</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span> <span class="scilabnumber">0.2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0.6</span> <span class="scilabconstants">%inf</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Nonlinear constraints</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">c</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">ceq</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">cg</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">cgeq</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">nlc</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">c</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">ceq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">3</span><span class="scilaboperator">-</span><span class="scilabnumber">0.5</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">0.75</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">cg</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">cgeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Options</span>
+<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">GradObj</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">on</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradCon</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">on</span><span class="scilabstring">&#0034;</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Calling Bonmin</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">grad</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">intfmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabfunctionid">nlc</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">Unbounded Problems: Find x in R^3 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_intfmincon.xml_7.png' style='position:relative;top:12px;width:213px;height:165px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 7:</span>
+<span class="scilabcomment">//The below problem is an unbounded problem:</span>
+<span class="scilabcomment">//Find x in R^3 such that it minimizes:</span>
+<span class="scilabcomment">//f(x)= -(x1^2 + x2^2 + x3^2)</span>
+<span class="scilabcomment">//x0=[0.1 , 0.1 , 0.1]</span>
+<span class="scilabcomment">// x1 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 0</span>
+<span class="scilabcomment">// x2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 0</span>
+<span class="scilabcomment">// x3 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 0</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilaboperator">-</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Starting point, linear constraints and variable bounds</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0.1</span> <span class="scilabdefault">,</span> <span class="scilabnumber">0.1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">3</span><span class="scilabopenclose">]</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">Aeq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">lb</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Options</span>
+<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">500</span><span class="scilabopenclose">]</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Calling Bonmin</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">grad</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">intfmincon</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Harpreet Singh</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="intfminbnd.html">&lt;&lt; intfminbnd</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="intfminimax.html">intfminimax &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/help/en_US/scilab_en_US_help/intfminimax.html b/help/en_US/scilab_en_US_help/intfminimax.html
new file mode 100644
index 0000000..8c3e809
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/intfminimax.html
@@ -0,0 +1,364 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>intfminimax</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="intfmincon.html">&lt;&lt; intfmincon</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="intfminunc.html">intfminunc &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; intfminimax</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">intfminimax</h1>
+ <p class="refpurpose">Solves minimax constraint problem</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfminimax</span><span class="default">(</span><span class="default">fun</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">intcon</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfminimax</span><span class="default">(</span><span class="default">fun</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfminimax</span><span class="default">(</span><span class="default">fun</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfminimax</span><span class="default">(</span><span class="default">fun</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfminimax</span><span class="default">(</span><span class="default">fun</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">nonlinfun</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfminimax</span><span class="default">(</span><span class="default">fun</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">nonlinfun</span><span class="default">,</span><span class="default">options</span><span class="default">)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">, </span><span class="default">fval</span><span class="default">] = </span><span class="functionid">intfminimax</span><span class="default">(.....)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">, </span><span class="default">fval</span><span class="default">, </span><span class="default">maxfval</span><span class="default">]= </span><span class="functionid">intfminimax</span><span class="default">(.....)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">, </span><span class="default">fval</span><span class="default">, </span><span class="default">maxfval</span><span class="default">, </span><span class="default">exitflag</span><span class="default">]= </span><span class="functionid">intfminimax</span><span class="default">(.....)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Input Parameters</h3>
+ <dl><dt><span class="term">fun:</span>
+ <dd><p class="para">The function to be minimized. fun is a function that has a vector x as an input argument, and contains the objective functions evaluated at x.</p></dd></dt>
+ <dt><span class="term">x0 :</span>
+ <dd><p class="para">A vector of doubles, containing the starting values of variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of Variables.</p></dd></dt>
+ <dt><span class="term">A :</span>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear inequality constraints of size (m X n) where &#0039;m&#0039; is the number of linear inequality constraints.</p></dd></dt>
+ <dt><span class="term">b :</span>
+ <dd><p class="para">A vector of doubles, related to &#0039;A&#0039; and represents the linear coefficients in the linear inequality constraints of size (m X 1).</p></dd></dt>
+ <dt><span class="term">Aeq :</span>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear equality constraints of size (m1 X n) where &#0039;m1&#0039; is the number of linear equality constraints.</p></dd></dt>
+ <dt><span class="term">beq :</span>
+ <dd><p class="para">A vector of double, vector of doubles, related to &#0039;Aeq&#0039; and represents the linear coefficients in the equality constraints of size (m1 X 1).</p></dd></dt>
+ <dt><span class="term">intcon :</span>
+ <dd><p class="para">A vector of integers, representing the variables that are constrained to be integers.</p></dd></dt>
+ <dt><span class="term">lb :</span>
+ <dd><p class="para">A vector of doubles, containing the lower bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
+ <dt><span class="term">ub :</span>
+ <dd><p class="para">A vector of doubles, containing the upper bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
+ <dt><span class="term">nonlinfun:</span>
+ <dd><p class="para">A function, representing the Non-linear Constraints functions(both Equality and Inequality) of the problem. It is declared in such a way that non-linear inequality constraints (c), and the non-linear equality constraints (ceq) are defined as separate single row vectors.</p></dd></dt>
+ <dt><span class="term">options :</span>
+ <dd><p class="para">A list, containing the option for user to specify. See below for details.</p></dd></dt></dl></div>
+<div class="refsection"><h3 class="title">Outputs</h3>
+ <dl><dt><span class="term">xopt :</span>
+ <dd><p class="para">A vector of doubles, containing the computed solution of the optimization problem.</p></dd></dt>
+ <dt><span class="term">fopt :</span>
+ <dd><p class="para">A vector of doubles, containing the values of the objective functions at the end of the optimization problem.</p></dd></dt>
+ <dt><span class="term">maxfval:</span>
+ <dd><p class="para">A double, representing the maximum value in the vector fval.</p></dd></dt>
+ <dt><span class="term">exitflag :</span>
+ <dd><p class="para">An integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
+ <dt><span class="term">output :</span>
+ <dd><p class="para">A structure, containing the information about the optimization. See below for details.</p></dd></dt>
+ <dt><span class="term">lambda :</span>
+ <dd><p class="para">A structure, containing the Lagrange multipliers of lower bound, upper bound and constraints at the optimized point. See below for details.</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">intfminimax minimizes the worst-case (largest) value of a set of multivariable functions, starting at an initial estimate. This is generally referred to as the minimax problem.</p>
+ <p class="para"><span><img src='./_LaTeX_intfminimax.xml_1.png' style='position:relative;top:52px;width:399px;height:112px'/></span></p>
+ <p class="para">max-min problems can also be solved with intfminimax, using the identity</p>
+ <p class="para"><span><img src='./_LaTeX_intfminimax.xml_2.png' style='position:relative;top:6px;width:281px;height:20px'/></span></p>
+ <p class="para">Currently, intfminimax calls intfmincon, which uses the bonmin algorithm, an optimization library in C++.</p>
+
+<h3 class="title">Options</h3>
+ <p class="para">The options allow the user to set various parameters of the Optimization problem. The syntax for the options is given by:</p>
+ <p class="para">options= list(&#0034;IntegerTolerance&#0034;, [---], &#0034;MaxNodes&#0034;,[---], &#0034;MaxIter&#0034;, [---], &#0034;AllowableGap&#0034;,[---] &#0034;CpuTime&#0034;, [---],&#0034;gradobj&#0034;, &#0034;off&#0034;, &#0034;hessian&#0034;, &#0034;off&#0034; );
+<ul class="itemizedlist"><li>IntegerTolerance : A Scalar, a number with that value of an integer is considered integer.</li>
+<li>MaxNodes : A Scalar, containing the maximum number of nodes that the solver should search.</li>
+<li>CpuTime : A scalar, specifying the maximum amount of CPU Time in seconds that the solver should take.</li>
+<li>AllowableGap : A scalar, that specifies the gap between the computed solution and the the objective value of the best known solution stop, at which the tree search can be stopped.</li>
+<li>MaxIter : A scalar, specifying the maximum number of iterations that the solver should take.</li>
+<li>gradobj : A string, to turn on or off the user supplied objective gradient.</li>
+<li>hessian : A scalar, to turn on or off the user supplied objective hessian.</li></ul>
+ The default values for the various items are given as:</p>
+ <p class="para">options = list(&#0039;integertolerance&#0039;,1d-06,&#0039;maxnodes&#0039;,2147483647,&#0039;cputime&#0039;,1d10,&#0039;allowablegap&#0039;,0,&#0039;maxiter&#0039;,2147483647,&#0039;gradobj&#0039;,&#0034;off&#0034;,&#0039;hessian&#0039;,&#0034;off&#0034;)</p>
+ <p class="para">The objective function must have header :
+<div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">F</span> <span class="scilaboperator">=</span> <span class="scilabid">fun</span><span class="scilabopenclose">(</span><span class="scilabid">x</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div>
+where x is a n x 1 matrix of doubles and F is a m x 1 matrix of doubles where m is the total number of objective functions inside F.
+On input, the variable x contains the current point and, on output, the variable F must contain the objective function values.</p>
+ <p class="para">By default, the gradient options for intfminimax are turned off and and fmincon does the gradient opproximation of minmaxObjfun. In case the GradObj option is off and GradCon option is on, intfminimax approximates minmaxObjfun gradient using the numderivative toolbox.</p>
+ <p class="para">If we can provide exact gradients, we should do so since it improves the convergence speed of the optimization algorithm.</p>
+ <p class="para"></p>
+ <p class="para">The exitflag allows to know the status of the optimization which is given back by Bonmin.
+<ul class="itemizedlist"><li>0 : Optimal Solution Found</li>
+<li>1 : InFeasible Solution.</li>
+<li>2 : Objective Function is Continuous Unbounded.</li>
+<li>3 : Limit Exceeded.</li>
+<li>4 : User Interrupt.</li>
+<li>5 : MINLP Error.</li></ul></p>
+ <p class="para">For more details on exitflag, see the Bonmin documentation which can be found on http://www.coin-or.org/Bonmin</p>
+ <p class="para"></p></div>
+<p class="para">A few examples displaying the various functionalities of intfminimax have been provided below. You will find a series of problems and the appropriate code snippets to solve them.</p>
+<div class="refsection"><h3 class="title">Example</h3>
+ Here we solve a simple objective function, subjected to no constraints.
+<p class="para"><span><img src='./_LaTeX_intfminimax.xml_3.png' style='position:relative;top:12px;width:312px;height:204px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// Example 1:</span>
+<span class="scilabcomment">//Objective function</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">304</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span><span class="scilabnumber">18</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">8</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The initial guess</span>
+<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span><span class="scilabdefault">,</span><span class="scilabnumber">0.1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// The expected solution : only 4 digits are guaranteed</span>
+<span class="scilabid">xopt</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">4</span> <span class="scilabnumber">4</span><span class="scilabopenclose">]</span>
+<span class="scilabid">fopt</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span> <span class="scilaboperator">-</span><span class="scilabnumber">64</span> <span class="scilaboperator">-</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span><span class="scilabnumber">8</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span>
+<span class="scilabid">maxfopt</span> <span class="scilaboperator">=</span> <span class="scilabnumber">0</span>
+<span class="scilabcomment">// Run intfminimax</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">maxfval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">intfminimax</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ We proceed to add simple linear inequality constraints.
+
+<p class="para"><span><img src='./_LaTeX_intfminimax.xml_4.png' style='position:relative;top:29px;width:225px;height:66px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 2:</span>
+<span class="scilabcomment">//Objective function</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">304</span><span class="scilabdefault">;</span> <span class="scilabcomment">//Objectives</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span><span class="scilabnumber">18</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">8</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The initial guess</span>
+<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span><span class="scilabdefault">,</span><span class="scilabnumber">0.1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Linear Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">////Integer constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Run intfminimax</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">maxfval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">intfminimax</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span> <span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+Here we build up on the previous example by adding linear equality constraints.
+We add the following constraints to the problem specified above:
+<p class="para"><span><img src='./_LaTeX_intfminimax.xml_5.png' style='position:relative;top:17px;width:134px;height:42px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 3:</span>
+<span class="scilabcomment">//Objective function</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">304</span><span class="scilabdefault">;</span> <span class="scilabcomment">//Objectives</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span><span class="scilabnumber">18</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">8</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The initial guess</span>
+<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span><span class="scilabdefault">,</span><span class="scilabnumber">0.1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Linear Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear equality constraints below.</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Integer constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Run intfminimax</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">maxfval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">intfminimax</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span> <span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+In this example, we proceed to add the upper and lower bounds to the objective function.
+<p class="para"><span><img src='./_LaTeX_intfminimax.xml_6.png' style='position:relative;top:17px;width:145px;height:42px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 4:</span>
+<span class="scilabcomment">//Objective function</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">304</span><span class="scilabdefault">;</span> <span class="scilabcomment">//Objectives</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span><span class="scilabnumber">18</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">8</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The initial guess</span>
+<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span><span class="scilabdefault">,</span><span class="scilabnumber">0.1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Linear Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear equality constraints below.</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//The upper and lower bounds for the objective function are defined in simple vectors as shown below.</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabconstants">%inf</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Integer constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Run intfminimax</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">maxfval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">intfminimax</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span> <span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+
+<div class="refsection"><h3 class="title">Example</h3>
+Finally, we add the non-linear constraints to the problem. Note that there is a notable difference in the way this is done as compared to defining the linear constraints.
+ <p class="para"><span><img src='./_LaTeX_intfminimax.xml_7.png' style='position:relative;top:22px;width:139px;height:52px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 5:</span>
+<span class="scilabcomment">//Objective function</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">304</span><span class="scilabdefault">;</span> <span class="scilabcomment">//Objectives</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span><span class="scilabnumber">18</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">8</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The initial guess</span>
+<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span><span class="scilabdefault">,</span><span class="scilabnumber">0.1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Linear Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear equality constraints below.</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//The upper and lower bounds for the objective function are defined in simple vectors as shown below.</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabconstants">%inf</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabcomment">//</span>
+<span class="scilabcomment">//Nonlinear constraints are required to be defined as a single function with the inequality and equality constraints in separate vectors.</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">c</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">ceq</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">nlc</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">c</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">+</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">ceq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Run intfminimax</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">maxfval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">intfminimax</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span> <span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">We can further enhance the functionality of fminimax by setting input options. We can pre-define the gradient of the objective function and/or the hessian of the lagrange function and thereby improve the speed of computation. This is elaborated on in example 6. We take the following problem, specify the gradients, and the jacobian matrix of the constraints. We also set solver parameters using the options.</p>
+<p class="para"><span><img src='./_LaTeX_intfminimax.xml_8.png' style='position:relative;top:17px;width:205px;height:42px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 6: Using the available options</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">304</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span><span class="scilabnumber">18</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">8</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+
+<span class="scilabcomment">// Defining gradient of myfun</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">G</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfungrad</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">G</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span> <span class="scilabnumber">4</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">48</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">40</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">6</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span> <span class="scilabnumber">3</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The nonlinear constraints and the Jacobian</span>
+<span class="scilabcomment">// matrix of the constraints</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">c</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">ceq</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">confun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Inequality constraints</span>
+<span class="scilabinputoutputargs">c</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1.5</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">10</span><span class="scilabopenclose">]</span>
+<span class="scilabcomment">// No nonlinear equality constraints</span>
+<span class="scilabinputoutputargs">ceq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// Defining gradient of confungrad</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">DC</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">DCeq</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">cgrad</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// DC(:,i) = gradient of the i-th constraint</span>
+<span class="scilabcomment">// DC = [</span>
+<span class="scilabcomment">// Dc1/Dx1 Dc1/Dx2</span>
+<span class="scilabcomment">// Dc2/Dx1 Dc2/Dx2</span>
+<span class="scilabcomment">// ]</span>
+<span class="scilabinputoutputargs">DC</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span>
+<span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span>
+<span class="scilabinputoutputargs">DCeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// Test with both gradient of objective and gradient of constraints</span>
+<span class="scilabid">Options</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">3000</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">600</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradObj</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabfunctionid">myfungrad</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradCon</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabfunctionid">cgrad</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// The initial guess</span>
+<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">10</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// The expected solution : only 4 digits are guaranteed</span>
+<span class="scilabid">xopt</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0.92791</span> <span class="scilabnumber">7.93551</span><span class="scilabopenclose">]</span>
+<span class="scilabid">fopt</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">6.73443</span> <span class="scilaboperator">-</span><span class="scilabnumber">189.778</span> <span class="scilabnumber">6.73443</span> <span class="scilaboperator">-</span><span class="scilabnumber">8.86342</span> <span class="scilabnumber">0.86342</span><span class="scilabopenclose">]</span>
+<span class="scilabid">maxfopt</span> <span class="scilaboperator">=</span> <span class="scilabnumber">6.73443</span>
+<span class="scilabcomment">//integer constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Run intfminimax</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">maxfval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">intfminimax</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">confun</span><span class="scilabdefault">,</span> <span class="scilabid">Options</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+Infeasible Problems: Find x in R^2 such that it minimizes the objective function used above under the following constraints:
+<p class="para"><span><img src='./_LaTeX_intfminimax.xml_9.png' style='position:relative;top:19px;width:158px;height:46px'/></span></p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 7:</span>
+<span class="scilabcomment">//Objective function</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">f</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">48</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">40</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">304</span><span class="scilabdefault">;</span> <span class="scilabcomment">//Objectives</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span><span class="scilabnumber">18</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">f</span><span class="scilabopenclose">(</span><span class="scilabnumber">5</span><span class="scilabopenclose">)</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabnumber">8</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// The initial guess</span>
+<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span><span class="scilabdefault">,</span><span class="scilabnumber">0.1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Linear Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span> <span class="scilabdefault">;</span> <span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear equality constraints below.</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">5</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">11</span><span class="scilabdefault">;</span><span class="scilabnumber">8</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//integer constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Run intfminimax</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">fval</span><span class="scilabdefault">,</span><span class="scilabid">maxfval</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">intfminimax</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span> <span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Harpreet Singh</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="intfmincon.html">&lt;&lt; intfmincon</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="intfminunc.html">intfminunc &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/help/en_US/scilab_en_US_help/intfminunc.html b/help/en_US/scilab_en_US_help/intfminunc.html
new file mode 100644
index 0000000..a188795
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/intfminunc.html
@@ -0,0 +1,173 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>intfminunc</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="intfminimax.html">&lt;&lt; intfminimax</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="intqpipopt.html">intqpipopt &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; intfminunc</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">intfminunc</h1>
+ <p class="refpurpose">Solves an unconstrainted multi-variable mixed integer non linear programming optimization problem</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfminunc</span><span class="default">(</span><span class="default">f</span><span class="default">,</span><span class="default">x0</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfminunc</span><span class="default">(</span><span class="default">f</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">intcon</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intfminunc</span><span class="default">(</span><span class="default">f</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">options</span><span class="default">)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">] = </span><span class="functionid">intfminunc</span><span class="default">(.....)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">]= </span><span class="functionid">intfminunc</span><span class="default">(.....)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">gradient</span><span class="default">,</span><span class="default">hessian</span><span class="default">]= </span><span class="functionid">intfminunc</span><span class="default">(.....)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Input Parameters</h3>
+ <dl><dt><span class="term">f :</span>
+ <dd><p class="para">A function, representing the objective function of the problem.</p></dd></dt>
+ <dt><span class="term">x0 :</span>
+ <dd><p class="para">A vector of doubles, containing the starting values of variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of Variables.</p></dd></dt>
+ <dt><span class="term">intcon :</span>
+ <dd><p class="para">A vector of integers, representing the variables that are constrained to be integers.</p></dd></dt>
+ <dt><span class="term">options :</span>
+ <dd><p class="para">A list, containing the option for user to specify. See below for details.</p></dd></dt></dl></div>
+<div class="refsection"><h3 class="title">Outputs</h3>
+ <dl><dt><span class="term">xopt :</span>
+ <dd><p class="para">A vector of doubles, containing the computed solution of the optimization problem.</p></dd></dt>
+ <dt><span class="term">fopt :</span>
+ <dd><p class="para">A double, containing the the function value at x.</p></dd></dt>
+ <dt><span class="term">exitflag :</span>
+ <dd><p class="para">An integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
+ <dt><span class="term">gradient :</span>
+ <dd><p class="para">A vector of doubles, containing the objective&#0039;s gradient of the solution.</p></dd></dt>
+ <dt><span class="term">hessian :</span>
+ <dd><p class="para">A matrix of doubles, containing the Lagrangian&#0039;s hessian of the solution.</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Search the minimum of a multi-variable mixed integer non linear programming unconstrained optimization problem specified by :
+Find the minimum of f(x) such that</p>
+ <p class="para"><span><img src='./_LaTeX_intfminunc.xml_1.png' style='position:relative;top:9px;width:213px;height:26px'/></span></p>
+ <p class="para">intfminunc calls Bonmin, which is an optimization library written in C++, to solve the bound optimization problem.</p>
+ <p class="para"><h3 class="title">Options</h3>
+The options allow the user to set various parameters of the Optimization problem. The syntax for the options is given by:</p>
+ <p class="para">options= list(&#0034;IntegerTolerance&#0034;, [---], &#0034;MaxNodes&#0034;,[---], &#0034;MaxIter&#0034;, [---], &#0034;AllowableGap&#0034;,[---] &#0034;CpuTime&#0034;, [---],&#0034;gradobj&#0034;, &#0034;off&#0034;, &#0034;hessian&#0034;, &#0034;off&#0034; );
+<ul class="itemizedlist"><li>IntegerTolerance : A Scalar, a number with that value of an integer is considered integer.</li>
+<li>MaxNodes : A Scalar, containing the maximum number of nodes that the solver should search.</li>
+<li>CpuTime : A scalar, specifying the maximum amount of CPU Time in seconds that the solver should take.</li>
+<li>AllowableGap : A scalar, that specifies the gap between the computed solution and the the objective value of the best known solution stop, at which the tree search can be stopped.</li>
+<li>MaxIter : A scalar, specifying the maximum number of iterations that the solver should take.</li>
+<li>gradobj : A string, to turn on or off the user supplied objective gradient.</li>
+<li>hessian : A scalar, to turn on or off the user supplied objective hessian.</li></ul>
+ The default values for the various items are given as:</p>
+ <p class="para">options = list(&#0039;integertolerance&#0039;,1d-06,&#0039;maxnodes&#0039;,2147483647,&#0039;cputime&#0039;,1d10,&#0039;allowablegap&#0039;,0,&#0039;maxiter&#0039;,2147483647,&#0039;gradobj&#0039;,&#0034;off&#0034;,&#0039;hessian&#0039;,&#0034;off&#0034;)</p>
+ <p class="para"></p>
+ <p class="para">The exitflag allows to know the status of the optimization which is given back by Ipopt.
+<ul class="itemizedlist"><li>0 : Optimal Solution Found</li>
+<li>1 : InFeasible Solution.</li>
+<li>2 : Objective Function is Continuous Unbounded.</li>
+<li>3 : Limit Exceeded.</li>
+<li>4 : User Interrupt.</li>
+<li>5 : MINLP Error.</li></ul></p>
+ <p class="para">For more details on exitflag, see the Bonmin documentation which can be found on http://www.coin-or.org/Bonmin</p>
+ <p class="para"></p></div>
+<p class="para">A few examples displaying the various functionalities of intfminunc have been provided below. You will find a series of problems and the appropriate code snippets to solve them.</p>
+
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">We begin with the minimization of a simple non-linear function.</p>
+ <p class="para">Find x in R^2 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_intfminunc.xml_2.png' style='position:relative;top:12px;width:213px;height:83px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 1:</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Starting point</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">intfminunc</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">We now look at the Rosenbrock function, a non-convex performance test problem for optimization routines. We use this example to illustrate how we can enhance the functionality of intfminunc by setting input options. We can pre-define the gradient of the objective function and/or the hessian of the lagrange function and thereby improve the speed of computation. This is elaborated on in example 2. We also set solver parameters using the options.</p>
+ <p class="para"><span><img src='./_LaTeX_intfminunc.xml_3.png' style='position:relative;top:12px;width:287px;height:83px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">///Example 2:</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilabnumber">100</span><span class="scilaboperator">*</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Starting point</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span>
+<span class="scilabcomment">//Options</span>
+<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">500</span><span class="scilabopenclose">]</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Calling</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">gradient</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">intfminunc</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Unbounded Problems: Find x in R^2 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_intfminunc.xml_4.png' style='position:relative;top:12px;width:213px;height:83px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//The below problem is an unbounded problem:</span>
+<span class="scilabcomment">//Find x in R^2 such that the below function is minimum</span>
+<span class="scilabcomment">//f = - x1^2 - x2^2</span>
+<span class="scilabcomment">//Objective function to be minimised</span>
+<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">y</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">g</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">h</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span> <span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">g</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabinputoutputargs">h</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">//Starting point</span>
+<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span>
+<span class="scilabid">options</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">gradobj</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">ON</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">hessian</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span><span class="scilabstring">&#0034;</span><span class="scilabstring">on</span><span class="scilabstring">&#0034;</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">gradient</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">intfminunc</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="intfminimax.html">&lt;&lt; intfminimax</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="intqpipopt.html">intqpipopt &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/help/en_US/scilab_en_US_help/intqpipopt.html b/help/en_US/scilab_en_US_help/intqpipopt.html
new file mode 100644
index 0000000..2fbad90
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/intqpipopt.html
@@ -0,0 +1,267 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>intqpipopt</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="intfminunc.html">&lt;&lt; intfminunc</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="linprog.html">linprog &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; intqpipopt</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">intqpipopt</h1>
+ <p class="refpurpose">Solves a linear quadratic problem.</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">xopt</span><span class="default"> = </span><span class="functionid">intqpipopt</span><span class="default">(</span><span class="default">H</span><span class="default">,</span><span class="default">f</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intqpipopt</span><span class="default">(</span><span class="default">H</span><span class="default">,</span><span class="default">f</span><span class="default">,</span><span class="default">intcon</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intqpipopt</span><span class="default">(</span><span class="default">H</span><span class="default">,</span><span class="default">f</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intqpipopt</span><span class="default">(</span><span class="default">H</span><span class="default">,</span><span class="default">f</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intqpipopt</span><span class="default">(</span><span class="default">H</span><span class="default">,</span><span class="default">f</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intqpipopt</span><span class="default">(</span><span class="default">H</span><span class="default">,</span><span class="default">f</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">x0</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intqpipopt</span><span class="default">(</span><span class="default">H</span><span class="default">,</span><span class="default">f</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">options</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">intqpipopt</span><span class="default">(</span><span class="default">H</span><span class="default">,</span><span class="default">f</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">options</span><span class="default">,</span>&#0034;<span class="default">file_path</span>&#0034;<span class="default">)</span>
+<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">output</span><span class="default">] = </span><span class="functionid">intqpipopt</span><span class="default">( ... )</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Input Parameters</h3>
+ <dl><dt><span class="term">H :</span>
+ <dd><p class="para">A symmetric matrix of doubles, representing the Hessian of the quadratic problem.</p></dd></dt>
+ <dt><span class="term">f :</span>
+ <dd><p class="para">A vector of doubles, representing coefficients of the linear terms in the quadratic problem.</p></dd></dt>
+ <dt><span class="term">intcon :</span>
+ <dd><p class="para">A vector of integers, representing the variables that are constrained to be integers.</p></dd></dt>
+ <dt><span class="term">A :</span>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear inequality constraints of size (m X n) where &#0039;m&#0039; is the number of linear inequality constraints.</p></dd></dt>
+ <dt><span class="term">b :</span>
+ <dd><p class="para">A vector of doubles, related to &#0039;A&#0039; and represents the linear coefficients in the linear inequality constraints of size (m X 1).</p></dd></dt>
+ <dt><span class="term">Aeq :</span>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear equality constraints of size (m1 X n) where &#0039;m1&#0039; is the number of linear equality constraints.</p></dd></dt>
+ <dt><span class="term">beq :</span>
+ <dd><p class="para">A vector of double, vector of doubles, related to &#0039;Aeq&#0039; and represents the linear coefficients in the equality constraints of size (m1 X 1).</p></dd></dt>
+ <dt><span class="term">lb :</span>
+ <dd><p class="para">A vector of doubles, containing the lower bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
+ <dt><span class="term">ub :</span>
+ <dd><p class="para">A vector of doubles, containing the upper bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
+ <dt><span class="term">x0 :</span>
+ <dd><p class="para">A vector of doubles, containing the starting values of variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
+ <dt><span class="term">options :</span>
+ <dd><p class="para">A list, containing the option for user to specify. See below for details.</p></dd></dt>
+ <dt><span class="term">file_path :</span>
+ <dd><p class="para">path to bonmin opt file if used.</p></dd></dt></dl></div>
+<div class="refsection"><h3 class="title">Outputs</h3>
+ <dl><dt><span class="term">xopt :</span>
+ <dd><p class="para">A vector of doubles, containing the computed solution of the optimization problem.</p></dd></dt>
+ <dt><span class="term">fopt :</span>
+ <dd><p class="para">A double, containing the value of the function at xopt.</p></dd></dt>
+ <dt><span class="term">exitflag :</span>
+ <dd><p class="para">An integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
+ <dt><span class="term">output :</span>
+ <dd><p class="para">A structure, containing the information about the optimization. See below for details.</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Search the minimum of a constrained linear quadratic optimization problem specified by :</p>
+ <p class="para"><span><img src='./_LaTeX_intqpipopt.xml_1.png' style='position:relative;top:52px;width:277px;height:112px'/></span></p>
+ <p class="para">intqpipopt calls Bonmin, a library written in C++ to solve the quadratic problem.</p>
+ <p class="para">The exitflag allows to know the status of the optimization which is given back by Ipopt.
+<ul class="itemizedlist"><li>0 : Optimal Solution Found</li>
+<li>1 : InFeasible Solution.</li>
+<li>2 : Objective Function is Continuous Unbounded.</li>
+<li>3 : Limit Exceeded.</li>
+<li>4 : User Interrupt.</li>
+<li>5 : MINLP Error.</li></ul></p>
+ <p class="para">For more details on exitflag, see the Bonmin documentation which can be found on http://www.coin-or.org/Bonmin</p>
+ <p class="para"></p>
+ <p class="para">The output data structure contains detailed information about the optimization process.
+It is of type &#0034;struct&#0034; and contains the following fields.
+<ul class="itemizedlist"><li>output.constrviolation: The max-norm of the constraint violation.</li></ul></p>
+ <p class="para"></p></div>
+<p class="para">A few examples displaying the various functionalities of intqpipopt have been provided below. You will find a series of problems and the appropriate code snippets to solve them.</p>
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Here we solve a simple objective function.</p>
+ <p class="para">Find x in R^6 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_intqpipopt.xml_2.png' style='position:relative;top:12px;width:284px;height:146px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 1:</span>
+<span class="scilabcomment">//Minimize 0.5*x</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*H*x + f</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*x with</span>
+<span class="scilabid">f</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabdefault">;</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span> <span class="scilabnumber">5</span><span class="scilabdefault">;</span> <span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabid">H</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://eye">eye</a><span class="scilabopenclose">(</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Integer Constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span> <span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Running intqpipopt</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">qpipoptmat</span><span class="scilabopenclose">(</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ We proceed to add simple linear inequality constraints.
+
+<p class="para"><span><img src='./_LaTeX_intqpipopt.xml_3.png' style='position:relative;top:18px;width:231px;height:44px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 2:</span>
+<span class="scilabid">f</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabdefault">;</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span> <span class="scilabnumber">5</span><span class="scilabdefault">;</span> <span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabid">H</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://eye">eye</a><span class="scilabopenclose">(</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2.5</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Integer Constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span> <span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Running intqpipopt</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">intqpipopt</span><span class="scilabopenclose">(</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ Here we build up on the previous example by adding linear equality constraints.
+We add the following constraints to the problem specified above:
+<p class="para"><span><img src='./_LaTeX_intqpipopt.xml_4.png' style='position:relative;top:27px;width:237px;height:62px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 3:</span>
+<span class="scilabcomment">//Minimize 0.5*x</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*H*x + f</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*x with</span>
+<span class="scilabid">f</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabdefault">;</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span> <span class="scilabnumber">5</span><span class="scilabdefault">;</span> <span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabid">H</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://eye">eye</a><span class="scilabopenclose">(</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2.5</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Equality constraints</span>
+<span class="scilabid">Aeq</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Integer Constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span> <span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Running intqpipopt</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">intqpipopt</span><span class="scilabopenclose">(</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">In this example, we proceed to add the upper and lower bounds to the objective function.</p>
+<p class="para"><span><img src='./_LaTeX_intqpipopt.xml_5.png' style='position:relative;top:57px;width:193px;height:122px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 4:</span>
+<span class="scilabcomment">//Minimize 0.5*x</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*H*x + f</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*x with</span>
+<span class="scilabid">f</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabdefault">;</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span> <span class="scilabnumber">5</span><span class="scilabdefault">;</span> <span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabid">H</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://eye">eye</a><span class="scilabopenclose">(</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2.5</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Equality constraints</span>
+<span class="scilabid">Aeq</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Variable bounds</span>
+<span class="scilabid">lb</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">10000</span><span class="scilabdefault">;</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">10000</span><span class="scilabdefault">;</span> <span class="scilabnumber">100</span><span class="scilabdefault">;</span> <span class="scilabnumber">1.5</span><span class="scilabdefault">;</span> <span class="scilabnumber">100</span><span class="scilabdefault">;</span> <span class="scilabnumber">100</span><span class="scilabdefault">;</span> <span class="scilabnumber">1000</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Integer Constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span> <span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Running intqpipopt</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">intqpipopt</span><span class="scilabopenclose">(</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">In this example, we initialize the values of x to speed up the computation. We further enhance the functionality of qpipoptmat by setting input options.</p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 5:</span>
+<span class="scilabcomment">//Minimize 0.5*x</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*H*x + f</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*x with</span>
+<span class="scilabid">f</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabdefault">;</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span> <span class="scilabnumber">5</span><span class="scilabdefault">;</span> <span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabid">H</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://eye">eye</a><span class="scilabopenclose">(</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2.5</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Equality constraints</span>
+<span class="scilabid">Aeq</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Variable bounds</span>
+<span class="scilabid">lb</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">10000</span><span class="scilabdefault">;</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">10000</span><span class="scilabdefault">;</span> <span class="scilabnumber">100</span><span class="scilabdefault">;</span> <span class="scilabnumber">1.5</span><span class="scilabdefault">;</span> <span class="scilabnumber">100</span><span class="scilabdefault">;</span> <span class="scilabnumber">100</span><span class="scilabdefault">;</span> <span class="scilabnumber">1000</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Initial guess and options</span>
+<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabid">options</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabnumber">300</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabnumber">100</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Integer Constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span> <span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Running intqpipopt</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">intqpipopt</span><span class="scilabopenclose">(</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+Infeasible Problems: Find x in R^6 such that it minimizes the objective function used above under the following constraints:
+<p class="para"><span><img src='./_LaTeX_intqpipopt.xml_6.png' style='position:relative;top:12px;width:398px;height:145px'/></span></p>
+<p class="para"></p>
+<div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 6:</span>
+<span class="scilabcomment">//Minimize 0.5*x</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*H*x + f</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*x with</span>
+<span class="scilabid">f</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabdefault">;</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span> <span class="scilabnumber">5</span><span class="scilabdefault">;</span> <span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabid">H</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://eye">eye</a><span class="scilabopenclose">(</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabid">f</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabdefault">;</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span> <span class="scilabnumber">5</span><span class="scilabdefault">;</span> <span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabid">H</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://eye">eye</a><span class="scilabopenclose">(</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2.5</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Equality constraints</span>
+<span class="scilabid">Aeq</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">4</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Integer Constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span> <span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Running intqpipopt</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">intqpipopt</span><span class="scilabopenclose">(</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">Unbounded Problems: Find x in R^6 such that it minimizes the objective function used above under the following constraints:</p>
+<p class="para"><span><img src='./_LaTeX_intqpipopt.xml_7.png' style='position:relative;top:40px;width:426px;height:204px'/></span></p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 7:</span>
+<span class="scilabcomment">//Minimize 0.5*x</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*H*x + f</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*x with</span>
+<span class="scilabid">f</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabdefault">;</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span> <span class="scilabnumber">5</span><span class="scilabdefault">;</span> <span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabid">H</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://eye">eye</a><span class="scilabopenclose">(</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span> <span class="scilabid">H</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2.5</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Equality constraints</span>
+<span class="scilabid">Aeq</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span> <span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Running intqpipopt</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">intqpipopt</span><span class="scilabopenclose">(</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Akshay Miterani and Pranav Deshpande</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="intfminunc.html">&lt;&lt; intfminunc</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="linprog.html">linprog &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/help/en_US/scilab_en_US_help/jhelpmap.jhm b/help/en_US/scilab_en_US_help/jhelpmap.jhm
index eb373d9..565fb48 100644
--- a/help/en_US/scilab_en_US_help/jhelpmap.jhm
+++ b/help/en_US/scilab_en_US_help/jhelpmap.jhm
@@ -2,12 +2,18 @@
<!DOCTYPE map PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Map Version 1.0//EN" "http://java.sun.com/products/javahelp/map_1_0.dtd">
<map version="1.0">
<mapID target="index" url="index.html"/>
-<mapID target="section_031bbc67ce78762a40093bfdff4eaa3b" url="section_031bbc67ce78762a40093bfdff4eaa3b.html"/>
+<mapID target="section_44e1f57c5225357b5fe53cb5fad967e9" url="section_44e1f57c5225357b5fe53cb5fad967e9.html"/>
+<mapID target="cbcintlinprog" url="cbcintlinprog.html"/>
<mapID target="fgoalattain" url="fgoalattain.html"/>
<mapID target="fminbnd" url="fminbnd.html"/>
<mapID target="fmincon" url="fmincon.html"/>
<mapID target="fminimax" url="fminimax.html"/>
<mapID target="fminunc" url="fminunc.html"/>
+<mapID target="intfminbnd" url="intfminbnd.html"/>
+<mapID target="intfmincon" url="intfmincon.html"/>
+<mapID target="intfminimax" url="intfminimax.html"/>
+<mapID target="intfminunc" url="intfminunc.html"/>
+<mapID target="intqpipopt" url="intqpipopt.html"/>
<mapID target="linprog" url="linprog.html"/>
<mapID target="lsqlin" url="lsqlin.html"/>
<mapID target="lsqnonlin" url="lsqnonlin.html"/>
@@ -16,7 +22,7 @@
<mapID target="qpipoptmat" url="qpipoptmat.html"/>
<mapID target="symphony" url="symphony.html"/>
<mapID target="symphonymat" url="symphonymat.html"/>
-<mapID target="section_316c7f5a42ba69316753082a567f2a1a" url="section_316c7f5a42ba69316753082a567f2a1a.html"/>
+<mapID target="section_5fc7ef02a133896efbd190355314d3fc" url="section_5fc7ef02a133896efbd190355314d3fc.html"/>
<mapID target="sym_addConstr" url="sym_addConstr.html"/>
<mapID target="sym_addVar" url="sym_addVar.html"/>
<mapID target="sym_close" url="sym_close.html"/>
diff --git a/help/en_US/scilab_en_US_help/jhelptoc.xml b/help/en_US/scilab_en_US_help/jhelptoc.xml
index c769e27..55711ed 100644
--- a/help/en_US/scilab_en_US_help/jhelptoc.xml
+++ b/help/en_US/scilab_en_US_help/jhelptoc.xml
@@ -2,12 +2,18 @@
<!DOCTYPE toc PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp TOC Version 1.0//EN" "http://java.sun.com/products/javahelp/toc_1_0.dtd">
<toc version="1.0">
<tocitem target="index" text="FOSSEE Optimization Toolbox">
-<tocitem target="section_031bbc67ce78762a40093bfdff4eaa3b" text="FOSSEE Optimization Toolbox">
+<tocitem target="section_44e1f57c5225357b5fe53cb5fad967e9" text="FOSSEE Optimization Toolbox">
+<tocitem target="cbcintlinprog" text="cbcintlinprog"/>
<tocitem target="fgoalattain" text="fgoalattain"/>
<tocitem target="fminbnd" text="fminbnd"/>
<tocitem target="fmincon" text="fmincon"/>
<tocitem target="fminimax" text="fminimax"/>
<tocitem target="fminunc" text="fminunc"/>
+<tocitem target="intfminbnd" text="intfminbnd"/>
+<tocitem target="intfmincon" text="intfmincon"/>
+<tocitem target="intfminimax" text="intfminimax"/>
+<tocitem target="intfminunc" text="intfminunc"/>
+<tocitem target="intqpipopt" text="intqpipopt"/>
<tocitem target="linprog" text="linprog"/>
<tocitem target="lsqlin" text="lsqlin"/>
<tocitem target="lsqnonlin" text="lsqnonlin"/>
@@ -16,7 +22,7 @@
<tocitem target="qpipoptmat" text="qpipoptmat"/>
<tocitem target="symphony" text="symphony"/>
<tocitem target="symphonymat" text="symphonymat"/>
-<tocitem target="section_316c7f5a42ba69316753082a567f2a1a" text="Symphony Native Functions">
+<tocitem target="section_5fc7ef02a133896efbd190355314d3fc" text="Symphony Native Functions">
<tocitem target="sym_addConstr" text="sym_addConstr"/>
<tocitem target="sym_addVar" text="sym_addVar"/>
<tocitem target="sym_close" text="sym_close"/>
diff --git a/help/en_US/scilab_en_US_help/linprog.html b/help/en_US/scilab_en_US_help/linprog.html
index 0ecb1ba..c3310e2 100644
--- a/help/en_US/scilab_en_US_help/linprog.html
+++ b/help/en_US/scilab_en_US_help/linprog.html
@@ -12,11 +12,11 @@
<div class="manualnavbar">
<table width="100%"><tr>
<td width="30%">
- <span class="previous"><a href="fminunc.html">&lt;&lt; fminunc</a></span>
+ <span class="previous"><a href="intqpipopt.html">&lt;&lt; intqpipopt</a></span>
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; linprog</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; linprog</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">linprog</h1>
@@ -45,77 +45,90 @@
<span class="default">xopt</span><span class="default"> = </span><span class="functionid">linprog</span><span class="default">(</span><span class="default">file</span><span class="default">,</span><span class="default">param</span><span class="default">)</span>
<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">output</span><span class="default">,</span><span class="default">lambda</span><span class="default">] = </span><span class="functionid">linprog</span><span class="default">( ... )</span></pre></div></div>
-<div class="refsection"><h3 class="title">Parameters</h3>
+ <div class="refsection"><h3 class="title">Input Parameters</h3>
<dl><dt><span class="term">c :</span>
- <dd><p class="para">a vector of double, contains coefficients of the variables in the objective</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the coefficients of the variables in the objective function.</p></dd></dt>
<dt><span class="term">A :</span>
- <dd><p class="para">a matrix of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.</p></dd></dt>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear inequality constraints of size (m X n) where &#0039;m&#0039; is the number of linear inequality constraints.</p></dd></dt>
<dt><span class="term">b :</span>
- <dd><p class="para">a vector of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, related to &#0039;A&#0039; and containing the the Right hand side equation of the linear inequality constraints of size (m X 1).</p></dd></dt>
<dt><span class="term">Aeq :</span>
- <dd><p class="para">a matrix of double, represents the linear coefficients in the equality constraints Aeqâ‹…x = beq.</p></dd></dt>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear equality constraints of size (m1 X n) where &#0039;m1&#0039; is the number of linear equality constraints.</p></dd></dt>
<dt><span class="term">beq :</span>
- <dd><p class="para">a vector of double, represents the linear coefficients in the equality constraints Aeqâ‹…x = beq.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, related to &#0039;Aeq&#0039; and containing the the Right hand side equation of the linear equality constraints of size (m1 X 1).</p></dd></dt>
<dt><span class="term">lb :</span>
- <dd><p class="para">Lower bounds, specified as a vector or array of double. lb represents the lower bounds elementwise in lb ≤ x ≤ ub.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the lower bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">ub :</span>
- <dd><p class="para">Upper bounds, specified as a vector or array of double. ub represents the upper bounds elementwise in lb ≤ x ≤ ub.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the upper bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">options :</span>
- <dd><p class="para">a list containing the parameters to be set.</p></dd></dt>
+ <dd><p class="para">A list, containing the option for user to specify. See below for details.</p></dd></dt>
<dt><span class="term">file :</span>
- <dd><p class="para">a string describing the path to the mps file.</p></dd></dt>
- <dt><span class="term">xopt :</span>
- <dd><p class="para">a vector of double, the computed solution of the optimization problem.</p></dd></dt>
+ <dd><p class="para">A string describing the path to the mps file.</p></dd></dt></dl></div>
+<div class="refsection"><h3 class="title">Outputs</h3>
+ <dl><dt><span class="term">xopt :</span>
+ <dd><p class="para">A vector of doubles, containing the computed solution of the optimization problem.</p></dd></dt>
<dt><span class="term">fopt :</span>
- <dd><p class="para">a double, the value of the function at x.</p></dd></dt>
- <dt><span class="term">status :</span>
- <dd><p class="para">status flag returned from symphony. See below for details.</p></dd></dt>
+ <dd><p class="para">A double, containing the the function value at x.</p></dd></dt>
+ <dt><span class="term">exitflaf :</span>
+ <dd><p class="para">An integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
<dt><span class="term">output :</span>
- <dd><p class="para">The output data structure contains detailed information about the optimization process. See below for details.</p></dd></dt>
+ <dd><p class="para">A structure, containing the information about the optimization. See below for details.</p></dd></dt>
<dt><span class="term">lambda :</span>
- <dd><p class="para">The structure consist of the Lagrange multipliers at the solution of problem. See below for details.</p></dd></dt></dl></div>
+ <dd><p class="para">A structure, containing the Lagrange multipliers of lower bound, upper bound and constraints at the optimized point. See below for details.</p></dd></dt></dl></div>
+
+
<div class="refsection"><h3 class="title">Description</h3>
- <p class="para">OSI-CLP is used for solving the linear programming problems, OSI-CLP is a library written in C++.
-Search the minimum of a constrained linear programming problem specified by :</p>
- <p class="para"><span><img src='./_LaTeX_linprog.xml_1.png' style='position:relative;top:40px;width:212px;height:88px'/></span></p>
- <p class="para">The routine calls Clp for solving the linear programming problem, Clp is a library written in C++.</p>
- <p class="para">The options allows the user to set various parameters of the Optimization problem.
-It should be defined as type &#0034;list&#0034; and contains the following fields. In the current version it only contains maxiter.
-<ul class="itemizedlist"><li>Syntax : options= list(&#0034;MaxIter&#0034;, [---]);</li>
-<li>MaxIter : a Scalar, containing the Maximum Number of Iteration that the solver should take.</li>
-<li>Default Values : options = list(&#0034;MaxIter&#0034;, [3000]);</li></ul></p>
- <p class="para">The exitflag allows to know the status of the optimization which is given back by CLP.
-<ul class="itemizedlist"><li>exitflag=0 : Optimal Solution Found</li>
-<li>exitflag=1 : Primal Infeasible</li>
-<li>exitflag=2 : Dual Infeasible</li>
-<li>exitflag=3 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
-<li>exitflag=4 : Solution Abandoned</li>
-<li>exitflag=5 : Primal objective limit reached.</li>
-<li>exitflag=6 : Dual objective limit reached.</li></ul></p>
- <p class="para">The output data structure contains detailed informations about the optimization process.
-It has type &#0034;struct&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>output.iterations: The number of iterations performed during the search</li>
+ <p class="para">Search the minimum of a constrained linear programming problem specified by :</p>
+ <p class="para"><span><img src='./_LaTeX_linprog.xml_1.png' style='position:relative;top:18px;width:241px;height:94px'/></span></p>
+ <p class="para">OSI-CLP, an optimization library written in C++, is used for solving the linear programming problems.</p>
+<p class="para"><h3 class="title">Options</h3>
+The options allow the user to set various parameters of the Optimization problem. The syntax for the options is given by:</p>
+ <p class="para">options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---], &#0034;GradObj&#0034;, ---, &#0034;Hessian&#0034;, ---, &#0034;GradCon&#0034;, ---);</p>
+ <p class="para">The options should be defined as type &#0034;list&#0034; and consist of the following fields:
+<ul class="itemizedlist"><li>MaxIter : A Scalar, specifying the Maximum Number of iterations that the solver should take.</li></ul></p>
+<p class="para">The default values for the various items are given as:</p>
+ <p class="para">options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600]);</p>
+
+ <p class="para">The exitflag allows the user to know the status of the optimization which is returned by Ipopt. The values it can take and what they indicate is described below:
+<ul class="itemizedlist"><li>0 : Optimal Solution Found</li>
+<li>1 : Primal Infeasible</li>
+<li>2 : Dual Infeasible</li>
+<li>3 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
+<li>4 : Solution Abandoned</li>
+<li>5 : Primal objective limit reached.</li>
+<li>6 : Dual objective limit reached.</li></ul></p>
+
+ <p class="para">The output data structure contains detailed information about the optimization process.
+It is of type &#0034;struct&#0034; and contains the following fields.
+<ul class="itemizedlist"><li>output.Iterations: The number of iterations performed.</li>
<li>output.constrviolation: The max-norm of the constraint violation.</li></ul></p>
- <p class="para">The lambda data structure contains the Lagrange multipliers at the end
-of optimization. In the current version the values are returned only when the the solution is optimal.
+ <p class="para">The lambda data structure contains the Lagrange multipliers at the end of optimization. In the current version the values are returned only when the the solution is optimal.
It has type &#0034;struct&#0034; and contains the following fields.
<ul class="itemizedlist"><li>lambda.lower: The Lagrange multipliers for variable lower bounds.</li>
<li>lambda.eqlin: The Lagrange multipliers for the linear equality constraints.</li>
<li>lambda.ineqlin: The Lagrange multipliers for the linear inequality constraints.</li></ul></p>
<p class="para"></p></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Optimal problems</span>
-<span class="scilabcomment">//Linear program, linear inequality constraints</span>
+<p class="para">A few examples displaying the various functionalities of linprog have been provided below. You will find a series of problems and the appropriate code snippets to solve them.</p>
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Here we solve a simple objective function, subjected to six linear inequality constraints.</p>
+ <p class="para">Find x in R^2 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_linprog.xml_2.png' style='position:relative;top:73px;width:272px;height:195px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 1: Linear program, linear inequality constraints</span>
<span class="scilabid">c</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span>
<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span>
<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span>
<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">linprog</span><span class="scilabopenclose">(</span><span class="scilabid">c</span><span class="scilabdefault">,</span> <span class="scilabid">A</span><span class="scilabdefault">,</span> <span class="scilabid">b</span><span class="scilabopenclose">)</span>
<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Linear program with Linear Inequalities and Equalities`</span>
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">Here we build up on the previous example by adding linear equality constraints.
+We add the following constraints to the problem specified above:</p>
+ <p class="para"><span><img src='./_LaTeX_linprog.xml_3.png' style='position:relative;top:16px;width:147px;height:40px'/></span></p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 2: Linear program with Linear Inequalities and Equalities`</span>
<span class="scilabid">c</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span>
<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span>
<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span>
@@ -124,8 +137,11 @@ It has type &#0034;struct&#0034; and contains the following fields.
<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">linprog</span><span class="scilabopenclose">(</span><span class="scilabid">c</span><span class="scilabdefault">,</span> <span class="scilabid">A</span><span class="scilabdefault">,</span> <span class="scilabid">b</span><span class="scilabdefault">,</span> <span class="scilabid">Aeq</span><span class="scilabdefault">,</span> <span class="scilabid">beq</span><span class="scilabopenclose">)</span>
<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Linear program with all constraint types</span>
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">In this example, we proceed to add the upper and lower bounds to the objective function.</p>
+ <p class="para"><span><img src='./_LaTeX_linprog.xml_4.png' style='position:relative;top:17px;width:162px;height:42px'/></span></p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 3: Linear program with all constraint types</span>
<span class="scilabid">c</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span>
<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span>
<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span>
@@ -135,9 +151,11 @@ It has type &#0034;struct&#0034; and contains the following fields.
<span class="scilabid">ub</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1.5</span><span class="scilabdefault">,</span><span class="scilabnumber">1.25</span><span class="scilabopenclose">]</span>
<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">linprog</span><span class="scilabopenclose">(</span><span class="scilabid">c</span><span class="scilabdefault">,</span> <span class="scilabid">A</span><span class="scilabdefault">,</span> <span class="scilabid">b</span><span class="scilabdefault">,</span> <span class="scilabid">Aeq</span><span class="scilabdefault">,</span> <span class="scilabid">beq</span><span class="scilabdefault">,</span> <span class="scilabid">lb</span><span class="scilabdefault">,</span> <span class="scilabid">ub</span><span class="scilabopenclose">)</span>
<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+<div class="refsection"><h3 class="title">Example</h3>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Primal Infeasible Problem</span>
+ <p class="para">Primal Infeasible Problems: Find x in R^3 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_linprog.xml_5.png' style='position:relative;top:27px;width:265px;height:176px'/></span></p>
+ <p class="para"></p> <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 4: Primal Infeasible Problem</span>
<span class="scilabid">c</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span>
<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span>
<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</span>
@@ -148,8 +166,12 @@ It has type &#0034;struct&#0034; and contains the following fields.
<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span> <span class="scilabid">linprog</span><span class="scilabopenclose">(</span><span class="scilabid">c</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span>
<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Dual Infeasible Problem</span>
+<div class="refsection"><h3 class="title">Example</h3>
+
+ <p class="para">Unbounded Problems: Find x in R^3 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_linprog.xml_6.png' style='position:relative;top:27px;width:266px;height:156px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 5: Unbounded Problem</span>
<span class="scilabid">c</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">7</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span>
<span class="scilabid">A</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</span>
<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">8</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabopenclose">]</span>
@@ -160,11 +182,15 @@ It has type &#0034;struct&#0034; and contains the following fields.
<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span> <span class="scilabid">linprog</span><span class="scilabopenclose">(</span><span class="scilabid">c</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span>
<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
-<div class="refsection"><h3 class="title">Examples</h3>
+<div class="refsection"><h3 class="title">Example</h3>
<div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">filepath</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://get_absolute_file_path">get_absolute_file_path</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0039;</span><span class="scilabstring">linprog.dem.sce</span><span class="scilabstring">&#0039;</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
<span class="scilabid">filepath</span> <span class="scilaboperator">=</span> <span class="scilabid">filepath</span> <span class="scilaboperator">+</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">exmip1.mps</span><span class="scilabstring">&#0034;</span>
<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span><span class="scilabid">linprog</span><span class="scilabopenclose">(</span><span class="scilabid">filepath</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+
+
+
<div class="refsection"><h3 class="title">Authors</h3>
<ul class="itemizedlist"><li class="member">Bhanu Priya Sayal, Guru Pradeep Reddy</li></ul></div>
<br />
@@ -174,11 +200,11 @@ It has type &#0034;struct&#0034; and contains the following fields.
<tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
<tr>
<td width="30%">
- <span class="previous"><a href="fminunc.html">&lt;&lt; fminunc</a></span>
+ <span class="previous"><a href="intqpipopt.html">&lt;&lt; intqpipopt</a></span>
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/lsqlin.html b/help/en_US/scilab_en_US_help/lsqlin.html
index 5a26c54..07a5369 100644
--- a/help/en_US/scilab_en_US_help/lsqlin.html
+++ b/help/en_US/scilab_en_US_help/lsqlin.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; lsqlin</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; lsqlin</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">lsqlin</h1>
@@ -41,67 +41,66 @@
<span class="default">xopt</span><span class="default"> = </span><span class="functionid">lsqlin</span><span class="default">(</span><span class="default">C</span><span class="default">,</span><span class="default">d</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">)</span>
<span class="default">xopt</span><span class="default"> = </span><span class="functionid">lsqlin</span><span class="default">(</span><span class="default">C</span><span class="default">,</span><span class="default">d</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">)</span>
<span class="default">xopt</span><span class="default"> = </span><span class="functionid">lsqlin</span><span class="default">(</span><span class="default">C</span><span class="default">,</span><span class="default">d</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">x0</span><span class="default">)</span>
-<span class="default">xopt</span><span class="default"> = </span><span class="functionid">lsqlin</span><span class="default">(</span><span class="default">C</span><span class="default">,</span><span class="default">d</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">param</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">lsqlin</span><span class="default">(</span><span class="default">C</span><span class="default">,</span><span class="default">d</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">options</span><span class="default">)</span>
<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">resnorm</span><span class="default">,</span><span class="default">residual</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">output</span><span class="default">,</span><span class="default">lambda</span><span class="default">] = </span><span class="functionid">lsqlin</span><span class="default">( ... )</span></pre></div></div>
-<div class="refsection"><h3 class="title">Parameters</h3>
+<div class="refsection"><h3 class="title">Input Parameters</h3>
<dl><dt><span class="term">C :</span>
- <dd><p class="para">a matrix of double, represents the multiplier of the solution x in the expression Câ‹…x - d. Number of columns in C is equal to the number of elements in x.</p></dd></dt>
+ <dd><p class="para">A matrix of doubles, representing the multiplier of x in the expression Câ‹…x - d. The number of columns in C is equal to the number of elements in x.</p></dd></dt>
<dt><span class="term">d :</span>
- <dd><p class="para">a vector of double, represents the additive constant term in the expression Câ‹…x - d. Number of elements in d is equal to the number of rows in C matrix.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, representing the additive constant term in the expression Câ‹…x - d. The number of elements in d is equal to the number of rows in C matrix.</p></dd></dt>
<dt><span class="term">A :</span>
- <dd><p class="para">a matrix of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.</p></dd></dt>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear inequality constraints of size (m X n) where &#0039;m&#0039; is the number of linear inequality constraints.</p></dd></dt>
<dt><span class="term">b :</span>
- <dd><p class="para">a vector of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, related to &#0039;A&#0039; and represents the linear coefficients in the linear inequality constraints of size (m X 1).</p></dd></dt>
<dt><span class="term">Aeq :</span>
- <dd><p class="para">a matrix of double, represents the linear coefficients in the equality constraints Aeqâ‹…x = beq.</p></dd></dt>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear equality constraints of size (m1 X n) where &#0039;m1&#0039; is the number of linear equality constraints.</p></dd></dt>
<dt><span class="term">beq :</span>
- <dd><p class="para">a vector of double, represents the linear coefficients in the equality constraints Aeqâ‹…x = beq.</p></dd></dt>
+ <dd><p class="para">A vector of double, vector of doubles, related to &#0039;Aeq&#0039; and represents the linear coefficients in the equality constraints of size (m1 X 1).</p></dd></dt>
<dt><span class="term">lb :</span>
- <dd><p class="para">a vector of double, contains lower bounds of the variables.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the lower bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">ub :</span>
- <dd><p class="para">a vector of double, contains upper bounds of the variables.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the upper bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">x0 :</span>
- <dd><p class="para">a vector of double, contains initial guess of variables.</p></dd></dt>
- <dt><span class="term">param :</span>
- <dd><p class="para">a list containing the parameters to be set.</p></dd></dt>
- <dt><span class="term">xopt :</span>
- <dd><p class="para">a vector of double, the computed solution of the optimization problem.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the starting values of variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
+ <dt><span class="term">options :</span>
+ <dd><p class="para">A list, containing the option for user to specify. See below for details.</p></dd></dt></dl></div>
+<div class="refsection"><h3 class="title">Outputs</h3>
+ <dl><dt><span class="term">xopt :</span>
+ <dd><p class="para">A vector of doubles, containing the computed solution of the optimization problem.</p></dd></dt>
<dt><span class="term">resnorm :</span>
- <dd><p class="para">a double, objective value returned as the scalar value norm(Câ‹…x-d)^2.</p></dd></dt>
+ <dd><p class="para">A double, containing the objective value returned as a scalar value norm(Câ‹…x-d)^2.</p></dd></dt>
<dt><span class="term">residual :</span>
- <dd><p class="para">a vector of double, solution residuals returned as the vector d-Câ‹…x.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the solution residuals, returned as a vector d-Câ‹…x.</p></dd></dt>
<dt><span class="term">exitflag :</span>
- <dd><p class="para">The exit status. See below for details.</p></dd></dt>
+ <dd><p class="para">An integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
<dt><span class="term">output :</span>
- <dd><p class="para">The structure consist of statistics about the optimization. See below for details.</p></dd></dt>
+ <dd><p class="para">A structure, containing the information about the optimization. See below for details.</p></dd></dt>
<dt><span class="term">lambda :</span>
- <dd><p class="para">The structure consist of the Lagrange multipliers at the solution of problem. See below for details.</p></dd></dt></dl></div>
-
+ <dd><p class="para">A structure, containing the Lagrange multipliers of the lower bounds, upper bounds and constraints at the optimized point. See below for details.</p></dd></dt></dl></div>
<div class="refsection"><h3 class="title">Description</h3>
- <p class="para">Search the minimum of a constrained linear least square problem specified by :</p>
- <p class="para"><span><img src='./_LaTeX_lsqlin.xml_1.png' style='position:relative;top:41px;width:230px;height:90px'/></span></p>
- <p class="para">The routine calls Ipopt for solving the linear least square problem, Ipopt is a library written in C++.</p>
- <p class="para">The options allows the user to set various parameters of the Optimization problem.
-It should be defined as type &#0034;list&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>Syntax : options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---]);</li>
-<li>MaxIter : a Scalar, containing the Maximum Number of Iteration that the solver should take.</li>
-<li>CpuTime : a Scalar, containing the Maximum amount of CPU Time that the solver should take.</li>
-<li>Default Values : options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600]);</li></ul></p>
- <p class="para">The exitflag allows to know the status of the optimization which is given back by Ipopt.
-<ul class="itemizedlist"><li>exitflag=0 : Optimal Solution Found</li>
-<li>exitflag=1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
-<li>exitflag=2 : Maximum CPU Time exceeded. Output may not be optimal.</li>
-<li>exitflag=3 : Stop at Tiny Step.</li>
-<li>exitflag=4 : Solved To Acceptable Level.</li>
-<li>exitflag=5 : Converged to a point of local infeasibility.</li></ul></p>
- <p class="para">For more details on exitflag see the ipopt documentation, go to http://www.coin-or.org/Ipopt/documentation/</p>
- <p class="para">The output data structure contains detailed informations about the optimization process.
-It has type &#0034;struct&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>output.iterations: The number of iterations performed during the search</li>
+ <p class="para">Search the minimum of a constrained linear least square problem specified by:</p>
+ <p class="para"><span><img src='./_LaTeX_lsqlin.xml_1.png' style='position:relative;top:41px;width:277px;height:90px'/></span></p>
+ <p class="para">lsqlin calls Ipopt, an optimization library written in C++, to solve the linear least squares problem.</p>
+ <p class="para">The options should be defined as type &#0034;list&#0034; and consist of the following fields:</p>
+ <p class="para">options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---]);</p>
+ <p class="para"><ul class="itemizedlist"><li>MaxIter : A Scalar, specifying the maximum number of iterations that the solver should take.</li>
+<li>CpuTime : A Scalar, specifying the maximum amount of CPU time in seconds that the solver should take.</li></ul></p>
+ <p class="para">The default values for the various items are given as:</p>
+ <p class="para">options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600]);</p>
+ <p class="para">The exitflag allows the user to know the status of the optimization which is returned by Ipopt. The values it can take and what they indicate is described below:
+<ul class="itemizedlist"><li>0 : Optimal Solution Found</li>
+<li>1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
+<li>2 : Maximum amount of CPU Time exceeded. Output may not be optimal.</li>
+<li>3 : Stop at Tiny Step.</li>
+<li>4 : Solved To Acceptable Level.</li>
+<li>5 : Converged to a point of local infeasibility.</li></ul></p>
+ <p class="para">For more details on exitflag, see the Ipopt documentation which can be found on http://www.coin-or.org/Ipopt/documentation/</p>
+ <p class="para">The output data structure contains detailed information about the optimization process.
+It is of type &#0034;struct&#0034; and contains the following fields.
+<ul class="itemizedlist"><li>output.iterations: The number of iterations performed.</li>
<li>output.constrviolation: The max-norm of the constraint violation.</li></ul></p>
- <p class="para">The lambda data structure contains the Lagrange multipliers at the end
-of optimization. In the current version the values are returned only when the the solution is optimal.
+ <p class="para">The lambda data structure contains the Lagrange multipliers at the end of optimization. In the current version, the values are returned only when the the solution is optimal.
It has type &#0034;struct&#0034; and contains the following fields.
<ul class="itemizedlist"><li>lambda.lower: The Lagrange multipliers for the lower bound constraints.</li>
<li>lambda.upper: The Lagrange multipliers for the upper bound constraints.</li>
@@ -109,23 +108,41 @@ It has type &#0034;struct&#0034; and contains the following fields.
<li>lambda.ineqlin: The Lagrange multipliers for the linear inequality constraints.</li></ul></p>
<p class="para"></p></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//A simple linear least square example</span>
-<span class="scilabid">C</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span> <span class="scilabnumber">2</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span>
-<span class="scilaboperator">-</span><span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
-<span class="scilabnumber">0</span> <span class="scilabnumber">2</span><span class="scilabopenclose">]</span>
-<span class="scilabid">d</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span>
-<span class="scilabnumber">0</span>
-<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">10</span> <span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span>
-<span class="scilaboperator">-</span><span class="scilabnumber">2</span> <span class="scilabnumber">10</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">4</span>
-<span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">resnorm</span><span class="scilabdefault">,</span><span class="scilabid">residual</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">lsqlin</span><span class="scilabopenclose">(</span><span class="scilabid">C</span><span class="scilabdefault">,</span><span class="scilabid">d</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabopenclose">)</span>
-<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
-
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//A basic example for equality, inequality constraints and variable bounds</span>
+
+<p class="para">A few examples displaying the various functionalities of lsqlin have been provided below. You will find a series of problems and the appropriate code snippets to solve them.</p>
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">We begin with a simple objective function subjected to three inequality constraints.</p>
+ <p class="para"><span><img src='./_LaTeX_lsqlin.xml_2.png' style='position:relative;top:27px;width:330px;height:225px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 1:An example with inequality constraints.</span>
+<span class="scilabcomment">//Initializing C and D.</span>
+<span class="scilabid">C</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span>
+<span class="scilabid">d</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">89</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">67</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">53</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">35</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">20</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear inequality constraints below.</span>
+<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">3</span> <span class="scilabnumber">2</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">2</span> <span class="scilabnumber">3</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">191</span>
+<span class="scilabnumber">209</span>
+<span class="scilabnumber">162</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Run lsqlin</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">resnorm</span><span class="scilabdefault">,</span><span class="scilabid">residual</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">lsqlin</span><span class="scilabopenclose">(</span><span class="scilabid">C</span><span class="scilabdefault">,</span><span class="scilabid">d</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Here we build up on the previous example by adding equality constraints.
+We add the following constraint to the problem specified above:</p>
+ <p class="para"><span><img src='./_LaTeX_lsqlin.xml_3.png' style='position:relative;top:8px;width:161px;height:24px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 2: Using inequality and equality constraints.</span>
+<span class="scilabcomment">//Initializing C and D.</span>
<span class="scilabid">C</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
<span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span>
<span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
@@ -135,19 +152,117 @@ It has type &#0034;struct&#0034; and contains the following fields.
<span class="scilabnumber">67</span><span class="scilabdefault">;</span>
<span class="scilabnumber">53</span><span class="scilabdefault">;</span>
<span class="scilabnumber">35</span><span class="scilabdefault">;</span>
-<span class="scilabnumber">20</span><span class="scilabdefault">;</span><span class="scilabopenclose">]</span>
+<span class="scilabnumber">20</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear inequality constraints below.</span>
<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">3</span> <span class="scilabnumber">2</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
<span class="scilabnumber">2</span> <span class="scilabnumber">3</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span>
<span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">191</span>
<span class="scilabnumber">209</span>
<span class="scilabnumber">162</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear equality constraints below.</span>
<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabnumber">10</span><span class="scilabdefault">;</span>
-<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabnumber">0.1</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
-<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Run lsqlin</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">resnorm</span><span class="scilabdefault">,</span><span class="scilabid">residual</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">lsqlin</span><span class="scilabopenclose">(</span><span class="scilabid">C</span><span class="scilabdefault">,</span><span class="scilabid">d</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">In this example, we proceed to add the upper and lower bounds to the objective function.</p>
+ <p class="para"><span><img src='./_LaTeX_lsqlin.xml_4.png' style='position:relative;top:27px;width:129px;height:62px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 3: Using equality, inequality constraints and variable bounds</span>
+<span class="scilabcomment">//Initializing C and D.</span>
+<span class="scilabid">C</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span>
+<span class="scilabid">d</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">89</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">67</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">53</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">35</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">20</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear inequality constraints below.</span>
+<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">3</span> <span class="scilabnumber">2</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">2</span> <span class="scilabnumber">3</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">191</span>
+<span class="scilabnumber">209</span>
+<span class="scilabnumber">162</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear equality constraints below.</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabnumber">10</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//The upper and lower bounds for the objective function are defined in simple vectors as shown below.</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Run lsqlin</span>
<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">resnorm</span><span class="scilabdefault">,</span><span class="scilabid">residual</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">lsqlin</span><span class="scilabopenclose">(</span><span class="scilabid">C</span><span class="scilabdefault">,</span><span class="scilabid">d</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">In this example, we proceed to provide an initial value for x to facilitate the computation. We also further enhance the functionality of lsqlin by setting input options. This provides us with the ability to control the solver parameters such as the maximum number of solver iterations and the max. CPU time allowed for the computation.</p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 4: Using equality, inequality constraints and variable bounds, initializing x and options.</span>
+<span class="scilabcomment">//Initializing C and D.</span>
+<span class="scilabid">C</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span>
+<span class="scilabid">d</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">89</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">67</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">53</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">35</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">20</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear inequality constraints below.</span>
+<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">3</span> <span class="scilabnumber">2</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">2</span> <span class="scilabnumber">3</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">191</span>
+<span class="scilabnumber">209</span>
+<span class="scilabnumber">162</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear equality constraints below.</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabnumber">10</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//The upper and lower bounds for the objective function are defined in simple vectors as shown below.</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0.1</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Initializing x.</span>
+<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabopenclose">]</span>
+<span class="scilabcomment">//Setting the options</span>
+<span class="scilabid">options</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">5000</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1000</span><span class="scilabopenclose">]</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Run lsqlin</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">resnorm</span><span class="scilabdefault">,</span><span class="scilabid">residual</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">lsqlin</span><span class="scilabopenclose">(</span><span class="scilabid">C</span><span class="scilabdefault">,</span><span class="scilabid">d</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Infeasible Problems: Find x in R^3 such that it minimizes:
+We add the following constraint to the objective function specified above:</p>
+ <p class="para"><span><img src='./_LaTeX_lsqlin.xml_5.png' style='position:relative;top:27px;width:357px;height:62px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 5: Infeasible problem</span>
+<span class="scilabcomment">//Initializing C and D.</span>
+<span class="scilabid">C</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span>
+<span class="scilabid">d</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">89</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">67</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">53</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">35</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">20</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear inequality constraints below.</span>
+<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">3</span> <span class="scilabnumber">2</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">2</span> <span class="scilabnumber">3</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">191</span>
+<span class="scilabnumber">209</span>
+<span class="scilabnumber">162</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//We specify the linear equality constraints below.</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabnumber">200</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Run lsqlin</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">resnorm</span><span class="scilabdefault">,</span><span class="scilabid">residual</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">lsqlin</span><span class="scilabopenclose">(</span><span class="scilabid">C</span><span class="scilabdefault">,</span><span class="scilabid">d</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
<div class="refsection"><h3 class="title">Authors</h3>
<ul class="itemizedlist"><li class="member">Harpreet Singh</li></ul></div>
<br />
@@ -161,7 +276,7 @@ It has type &#0034;struct&#0034; and contains the following fields.
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/lsqnonlin.html b/help/en_US/scilab_en_US_help/lsqnonlin.html
index f2c32ce..b0b6219 100644
--- a/help/en_US/scilab_en_US_help/lsqnonlin.html
+++ b/help/en_US/scilab_en_US_help/lsqnonlin.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; lsqnonlin</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; lsqnonlin</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">lsqnonlin</h1>
@@ -45,63 +45,92 @@
<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">resnorm</span><span class="default">,</span><span class="default">residual</span><span class="default">,</span><span class="default">exitflag</span><span class="default">] = </span><span class="functionid">lsqnonlin</span><span class="default">( ... )</span>
<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">resnorm</span><span class="default">,</span><span class="default">residual</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">output</span><span class="default">,</span><span class="default">lambda</span><span class="default">,</span><span class="default">gradient</span><span class="default">] = </span><span class="functionid">lsqnonlin</span><span class="default">( ... )</span></pre></div></div>
-<div class="refsection"><h3 class="title">Parameters</h3>
+<div class="refsection"><h3 class="title">Input Parameters</h3>
<dl><dt><span class="term">fun :</span>
- <dd><p class="para">a function, representing the objective function and gradient (if given) of the problem</p></dd></dt>
+ <dd><p class="para">A function, representing the objective function and gradient (if given) of the problem.</p></dd></dt>
<dt><span class="term">x0 :</span>
- <dd><p class="para">a vector of double, contains initial guess of variables.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the starting values of variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">lb :</span>
- <dd><p class="para">a vector of double, contains lower bounds of the variables.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the lower bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">ub :</span>
- <dd><p class="para">a vector of double, contains upper bounds of the variables.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the upper bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">options :</span>
- <dd><p class="para">a list containing the parameters to be set.</p></dd></dt>
- <dt><span class="term">xopt :</span>
- <dd><p class="para">a vector of double, the computed solution of the optimization problem.</p></dd></dt>
+ <dd><p class="para">A list, containing the option for user to specify. See below for details.</p></dd></dt></dl></div>
+<div class="refsection"><h3 class="title">Outputs</h3>
+ <dl><dt><span class="term">xopt :</span>
+ <dd><p class="para">A vector of doubles, containing the computed solution of the optimization problem.</p></dd></dt>
<dt><span class="term">resnorm :</span>
- <dd><p class="para">a double, objective value returned as the scalar value i.e. sum(fun(x).^2).</p></dd></dt>
+ <dd><p class="para">A double, containing the objective value returned as a scalar value i.e. sum(fun(x).^2).</p></dd></dt>
<dt><span class="term">residual :</span>
- <dd><p class="para">a vector of double, solution of objective function i.e. fun(x).</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the solution of the objective function, returned as a vector i.e. fun(x).</p></dd></dt>
<dt><span class="term">exitflag :</span>
- <dd><p class="para">The exit status. See below for details.</p></dd></dt>
+ <dd><p class="para">An integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
<dt><span class="term">output :</span>
- <dd><p class="para">The structure consist of statistics about the optimization. See below for details.</p></dd></dt>
+ <dd><p class="para">A structure, containing the information about the optimization. See below for details.</p></dd></dt>
<dt><span class="term">lambda :</span>
- <dd><p class="para">The structure consist of the Lagrange multipliers at the solution of problem. See below for details.</p></dd></dt>
+ <dd><p class="para">A structure, containing the Lagrange multipliers of the lower bounds, upper bounds and constraints at the optimized point. See below for details.</p></dd></dt>
<dt><span class="term">gradient :</span>
- <dd><p class="para">a vector of doubles, containing the Objective&#0039;s gradient of the solution.</p></dd></dt></dl></div>
+ <dd><p class="para">A vector of doubles, containing the objective&#0039;s gradient of the solution.</p></dd></dt></dl></div>
<div class="refsection"><h3 class="title">Description</h3>
<p class="para">Search the minimum of a constrained non-linear least square problem specified by :</p>
- <p class="para"><span><img src='./_LaTeX_lsqnonlin.xml_1.png' style='position:relative;top:20px;width:341px;height:48px'/></span></p>
- <p class="para">The routine calls fmincon which calls Ipopt for solving the non-linear least square problem, Ipopt is a library written in C++.</p>
- <p class="para">The options allows the user to set various parameters of the Optimization problem.
-It should be defined as type &#0034;list&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>Syntax : options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---],&#0034;GradObj&#0034;, &#0034;on&#0034;);</li>
-<li>MaxIter : a Scalar, containing the Maximum Number of Iteration that the solver should take.</li>
-<li>CpuTime : a Scalar, containing the Maximum amount of CPU Time that the solver should take.</li>
-<li>GradObj : a string, representing the gradient function is on or off.</li>
-<li>Default Values : options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600], &#0034;GradObj&#0034;, &#0034;off&#0034;);</li></ul></p>
- <p class="para">The exitflag allows to know the status of the optimization which is given back by Ipopt.
-<ul class="itemizedlist"><li>exitflag=0 : Optimal Solution Found</li>
-<li>exitflag=1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
-<li>exitflag=2 : Maximum CPU Time exceeded. Output may not be optimal.</li>
-<li>exitflag=3 : Stop at Tiny Step.</li>
-<li>exitflag=4 : Solved To Acceptable Level.</li>
-<li>exitflag=5 : Converged to a point of local infeasibility.</li></ul></p>
- <p class="para">For more details on exitflag see the ipopt documentation, go to http://www.coin-or.org/Ipopt/documentation/</p>
- <p class="para">The output data structure contains detailed informations about the optimization process.
-It has type &#0034;struct&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>output.iterations: The number of iterations performed during the search</li>
+ <p class="para"><span><img src='./_LaTeX_lsqnonlin.xml_1.png' style='position:relative;top:20px;width:264px;height:48px'/></span></p>
+ <p class="para">lsqnonlin calls fmincon, which calls Ipopt, an optimization library written in C++ to solve the non-linear least squares problem.</p>
+
+ <p class="para">The options should be defined as type &#0034;list&#0034; and consist of the following fields:</p>
+ <p class="para">options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---], &#0034;GradObj&#0034;, ---);</p>
+ <p class="para"><ul class="itemizedlist"><li>MaxIter : A Scalar, specifying the maximum number of iterations that the solver should take.</li>
+<li>CpuTime : A Scalar, specifying the maximum amount of CPU time in seconds that the solver should take.</li>
+<li>GradObj : A string, representing whetherthe gradient function is on or off.</li></ul></p>
+ <p class="para">The default values for the various items are given as:</p>
+ <p class="para">Default Values : options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600], &#0034;GradObj&#0034;, &#0034;off&#0034;);</p>
+ <p class="para">The exitflag allows the user to know the status of the optimization which is returned by Ipopt. The values it can take and what they indicate is described below:
+<ul class="itemizedlist"><li>0 : Optimal Solution Found</li>
+<li>1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
+<li>2 : Maximum amount of CPU Time exceeded. Output may not be optimal.</li>
+<li>3 : Stop at Tiny Step.</li>
+<li>4 : Solved To Acceptable Level.</li>
+<li>5 : Converged to a point of local infeasibility.</li></ul></p>
+ <p class="para">For more details on exitflag, see the Ipopt documentation which can be found on http://www.coin-or.org/Ipopt/documentation/</p>
+ <p class="para">The output data structure contains detailed information about the optimization process.
+It is of type &#0034;struct&#0034; and contains the following fields.
+<ul class="itemizedlist"><li>output.iterations: The number of iterations performed.</li>
<li>output.constrviolation: The max-norm of the constraint violation.</li></ul></p>
- <p class="para">The lambda data structure contains the Lagrange multipliers at the end
-of optimization. In the current version the values are returned only when the the solution is optimal.
+ <p class="para">The lambda data structure contains the Lagrange multipliers at the end of optimization. In the current version, the values are returned only when the the solution is optimal.
It has type &#0034;struct&#0034; and contains the following fields.
<ul class="itemizedlist"><li>lambda.lower: The Lagrange multipliers for the lower bound constraints.</li>
<li>lambda.upper: The Lagrange multipliers for the upper bound constraints.</li></ul></p>
<p class="para"></p></div>
-
-<div class="refsection"><h3 class="title">Examples</h3>
+<p class="para">A few examples displaying the various functionalities of lsqnonlin have been provided below. You will find a series of problems and the appropriate code snippets to solve them.</p>
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Here we solve a simple non-linear least square example taken from leastsq default present in scilab.</p>
+ <p class="para">Find x in R^2 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_lsqnonlin.xml_2.png' style='position:relative;top:9px;width:408px;height:74px'/></span></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// we have the m measures (ti, yi):</span>
+<span class="scilabid">m</span> <span class="scilaboperator">=</span> <span class="scilabnumber">10</span><span class="scilabdefault">;</span>
+<span class="scilabid">tm</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">0.5</span><span class="scilabdefault">,</span> <span class="scilabnumber">0.75</span><span class="scilabdefault">,</span> <span class="scilabnumber">1.0</span><span class="scilabdefault">,</span> <span class="scilabnumber">1.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">1.5</span><span class="scilabdefault">,</span> <span class="scilabnumber">1.75</span><span class="scilabdefault">,</span> <span class="scilabnumber">2.0</span><span class="scilabdefault">,</span> <span class="scilabnumber">2.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">2.5</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span><span class="scilabdefault">;</span>
+<span class="scilabid">ym</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0.79</span><span class="scilabdefault">,</span> <span class="scilabnumber">0.59</span><span class="scilabdefault">,</span> <span class="scilabnumber">0.47</span><span class="scilabdefault">,</span> <span class="scilabnumber">0.36</span><span class="scilabdefault">,</span> <span class="scilabnumber">0.29</span><span class="scilabdefault">,</span> <span class="scilabnumber">0.23</span><span class="scilabdefault">,</span> <span class="scilabnumber">0.17</span><span class="scilabdefault">,</span> <span class="scilabnumber">0.15</span><span class="scilabdefault">,</span> <span class="scilabnumber">0.12</span><span class="scilabdefault">,</span> <span class="scilabnumber">0.08</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// measure weights (here all equal to 1...)</span>
+<span class="scilabid">wm</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://ones">ones</a><span class="scilabopenclose">(</span><span class="scilabid">m</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// and we want to find the parameters x such that the model fits the given</span>
+<span class="scilabcomment">// data in the least square sense:</span>
+<span class="scilabcomment">//</span>
+<span class="scilabcomment">// minimize f(x) = sum_i wm(i)^2 ( x(1)*exp(-x(2)*tm(i) - ym(i) )^2</span>
+<span class="scilabcomment">// initial parameters guess</span>
+<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1.5</span> <span class="scilabdefault">;</span> <span class="scilabnumber">0.8</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// in the first examples, we define the function fun and dfun</span>
+<span class="scilabcomment">// in scilab language</span>
+<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">them</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">ym</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">wm</span><span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span> <span class="scilaboperator">=</span> <span class="scilabinputoutputargs">wm</span><span class="scilaboperator">.*</span><span class="scilabopenclose">(</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><a class="scilabcommand" href="scilab://exp">exp</a><span class="scilabopenclose">(</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabid">tm</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">ym</span> <span class="scilabopenclose">)</span>
+<span class="scilabfkeyword">endfunction</span>
+<span class="scilabcomment">// the simplest call</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">resnorm</span><span class="scilabdefault">,</span><span class="scilabid">residual</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabdefault">,</span><span class="scilabid">gradient</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">lsqnonlin</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">Here we build up on the previous example by adding upper and lower bounds to the variables.
+We add the following bounds to the problem specified above:</p>
+ <p class="para"><span><img src='./_LaTeX_lsqnonlin.xml_3.png' style='position:relative;top:17px;width:137px;height:42px'/></span></p>
+ <p class="para"></p>
<div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//A simple non-linear least square example taken from leastsq default present in scilab</span>
<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">yth</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">t</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
<span class="scilabinputoutputargs">y</span> <span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><a class="scilabcommand" href="scilab://exp">exp</a><span class="scilabopenclose">(</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">t</span><span class="scilabopenclose">)</span>
@@ -123,11 +152,15 @@ It has type &#0034;struct&#0034; and contains the following fields.
<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">tm</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">ym</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">wm</span><span class="scilabopenclose">)</span>
<span class="scilabinputoutputargs">y</span> <span class="scilaboperator">=</span> <span class="scilabinputoutputargs">wm</span><span class="scilaboperator">.*</span><span class="scilabopenclose">(</span> <span class="scilabfunctionid">yth</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">tm</span><span class="scilabdefault">,</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">ym</span> <span class="scilabopenclose">)</span>
<span class="scilabfkeyword">endfunction</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">5</span> <span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">5</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">10</span><span class="scilabdefault">,</span> <span class="scilabnumber">10</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabcomment">// the simplest call</span>
-<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">resnorm</span><span class="scilabdefault">,</span><span class="scilabid">residual</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabdefault">,</span><span class="scilabid">gradient</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">lsqnonlin</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabopenclose">)</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">resnorm</span><span class="scilabdefault">,</span><span class="scilabid">residual</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabdefault">,</span><span class="scilabid">gradient</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">lsqnonlin</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span>
<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
-<div class="refsection"><h3 class="title">Examples</h3>
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">In this example, we further enhance the functionality of lsqnonlin by setting input options. This provides us with the ability to control the solver parameters such as the maximum number of solver iterations and the max. CPU time allowed for the computation.</p>
+ <p class="para"></p>
<div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//A basic example taken from leastsq default present in scilab with gradient</span>
<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">yth</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">t</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span>
<span class="scilabinputoutputargs">y</span> <span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><a class="scilabcommand" href="scilab://exp">exp</a><span class="scilabopenclose">(</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">t</span><span class="scilabopenclose">)</span>
@@ -147,12 +180,14 @@ It has type &#0034;struct&#0034; and contains the following fields.
<span class="scilabcomment">// in the first examples, we define the function fun and dfun</span>
<span class="scilabcomment">// in scilab language</span>
<span class="scilabfkeyword">function</span> <span class="scilabopenclose">[</span><span class="scilabinputoutputargs">y</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">dy</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabfunctionid">myfun</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">tm</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">ym</span><span class="scilabdefault">, </span><span class="scilabinputoutputargs">wm</span><span class="scilabopenclose">)</span>
-<span class="scilabinputoutputargs">y</span> <span class="scilaboperator">=</span> <span class="scilabinputoutputargs">wm</span><span class="scilaboperator">.*</span><span class="scilabopenclose">(</span> <span class="scilabfunctionid">yth</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">tm</span><span class="scilabdefault">,</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">ym</span> <span class="scilabopenclose">)</span>
+<span class="scilabinputoutputargs">y</span> <span class="scilaboperator">=</span> <span class="scilabinputoutputargs">wm</span><span class="scilaboperator">.*</span><span class="scilabopenclose">(</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><a class="scilabcommand" href="scilab://exp">exp</a><span class="scilabopenclose">(</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">tm</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">ym</span> <span class="scilabopenclose">)</span>
<span class="scilabid">v</span> <span class="scilaboperator">=</span> <span class="scilabinputoutputargs">wm</span><span class="scilaboperator">.*</span><a class="scilabcommand" href="scilab://exp">exp</a><span class="scilabopenclose">(</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">tm</span><span class="scilabopenclose">)</span>
<span class="scilabinputoutputargs">dy</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabid">v</span> <span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">tm</span><span class="scilaboperator">.*</span><span class="scilabid">v</span><span class="scilabopenclose">]</span>
<span class="scilabfkeyword">endfunction</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">5</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">10</span><span class="scilabdefault">,</span><span class="scilabnumber">10</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabid">options</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">GradObj</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">on</span><span class="scilabstring">&#0034;</span><span class="scilabopenclose">)</span>
-<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">resnorm</span><span class="scilabdefault">,</span><span class="scilabid">residual</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabdefault">,</span><span class="scilabid">gradient</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">lsqnonlin</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">resnorm</span><span class="scilabdefault">,</span><span class="scilabid">residual</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabdefault">,</span><span class="scilabid">gradient</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">lsqnonlin</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">myfun</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
<div class="refsection"><h3 class="title">Authors</h3>
<ul class="itemizedlist"><li class="member">Harpreet Singh</li></ul></div>
@@ -167,7 +202,7 @@ It has type &#0034;struct&#0034; and contains the following fields.
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/lsqnonneg.html b/help/en_US/scilab_en_US_help/lsqnonneg.html
index 5cd01df..f9783ad 100644
--- a/help/en_US/scilab_en_US_help/lsqnonneg.html
+++ b/help/en_US/scilab_en_US_help/lsqnonneg.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; lsqnonneg</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; lsqnonneg</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">lsqnonneg</h1>
@@ -38,58 +38,63 @@
<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
<div class="synopsis"><pre><span class="default">xopt</span><span class="default"> = </span><span class="functionid">lsqnonneg</span><span class="default">(</span><span class="default">C</span><span class="default">,</span><span class="default">d</span><span class="default">)</span>
-<span class="default">xopt</span><span class="default"> = </span><span class="functionid">lsqnonneg</span><span class="default">(</span><span class="default">C</span><span class="default">,</span><span class="default">d</span><span class="default">,</span><span class="default">param</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">lsqnonneg</span><span class="default">(</span><span class="default">C</span><span class="default">,</span><span class="default">d</span><span class="default">,</span><span class="default">options</span><span class="default">)</span>
<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">resnorm</span><span class="default">,</span><span class="default">residual</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">output</span><span class="default">,</span><span class="default">lambda</span><span class="default">] = </span><span class="functionid">lsqnonneg</span><span class="default">( ... )</span></pre></div></div>
-<div class="refsection"><h3 class="title">Parameters</h3>
+<div class="refsection"><h3 class="title">Input Parameters</h3>
<dl><dt><span class="term">C :</span>
- <dd><p class="para">a matrix of double, represents the multiplier of the solution x in the expression Câ‹…x - d. Number of columns in C is equal to the number of elements in x.</p></dd></dt>
- <dt><span class="term">d :</span>
- <dd><p class="para">a vector of double, represents the additive constant term in the expression Câ‹…x - d. Number of elements in d is equal to the number of rows in C matrix.</p></dd></dt>
- <dt><span class="term">xopt :</span>
- <dd><p class="para">a vector of double, the computed solution of the optimization problem.</p></dd></dt>
+ <dd><p class="para">A matrix of doubles, representing the multiplier of x in the expression Câ‹…x - d. The number of columns in C is equal to the number of elements in x.</p></dd></dt>
+ <dt><span class="term">d :</span>
+ <dd><p class="para">A vector of doubles, representing the additive constant term in the expression Câ‹…x - d. The number of elements in d is equal to the number of rows in C matrix.</p></dd></dt>
+ <dt><span class="term">options:</span>
+ <dd><p class="para">A list, containing the option for user to specify. See below for details.</p></dd></dt></dl></div>
+<div class="refsection"><h3 class="title">Outputs</h3>
+ <dl><dt><span class="term">xopt :</span>
+ <dd><p class="para">A vector of doubles, containing the computed solution of the optimization problem.</p></dd></dt>
<dt><span class="term">resnorm :</span>
- <dd><p class="para">a double, objective value returned as the scalar value norm(Câ‹…x-d)^2.</p></dd></dt>
+ <dd><p class="para">A double, containing the objective value returned as a scalar value norm(Câ‹…x-d)^2.</p></dd></dt>
<dt><span class="term">residual :</span>
- <dd><p class="para">a vector of double, solution residuals returned as the vector d-Câ‹…x.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the solution residuals, returned as a vector d-Câ‹…x.</p></dd></dt>
<dt><span class="term">exitflag :</span>
- <dd><p class="para">The exit status. See below for details.</p></dd></dt>
+ <dd><p class="para">An integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
<dt><span class="term">output :</span>
- <dd><p class="para">The structure consist of statistics about the optimization. See below for details.</p></dd></dt>
+ <dd><p class="para">A structure, containing the information about the optimization. See below for details.</p></dd></dt>
<dt><span class="term">lambda :</span>
- <dd><p class="para">The structure consist of the Lagrange multipliers at the solution of problem. See below for details.</p></dd></dt></dl></div>
+ <dd><p class="para">A structure, containing the Lagrange multipliers at the optimized point. See below for details.</p></dd></dt></dl></div>
<div class="refsection"><h3 class="title">Description</h3>
<p class="para">Solves nonnegative least-squares curve fitting problems specified by :</p>
- <p class="para"><span><img src='./_LaTeX_lsqnonneg.xml_1.png' style='position:relative;top:19px;width:193px;height:46px'/></span></p>
- <p class="para">The routine calls Ipopt for solving the nonnegative least-squares curve fitting problems, Ipopt is a library written in C++.</p>
- <p class="para">The options allows the user to set various parameters of the Optimization problem.
-It should be defined as type &#0034;list&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>Syntax : options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---]);</li>
-<li>MaxIter : a Scalar, containing the Maximum Number of Iteration that the solver should take.</li>
-<li>CpuTime : a Scalar, containing the Maximum amount of CPU Time that the solver should take.</li>
-<li>Default Values : options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600]);</li></ul></p>
- <p class="para">The exitflag allows to know the status of the optimization which is given back by Ipopt.
-<ul class="itemizedlist"><li>exitflag=0 : Optimal Solution Found</li>
-<li>exitflag=1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
-<li>exitflag=2 : Maximum CPU Time exceeded. Output may not be optimal.</li>
-<li>exitflag=3 : Stop at Tiny Step.</li>
-<li>exitflag=4 : Solved To Acceptable Level.</li>
-<li>exitflag=5 : Converged to a point of local infeasibility.</li></ul></p>
- <p class="para">For more details on exitflag see the ipopt documentation, go to http://www.coin-or.org/Ipopt/documentation/</p>
- <p class="para">The output data structure contains detailed informations about the optimization process.
-It has type &#0034;struct&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>output.iterations: The number of iterations performed during the search</li>
+ <p class="para"><span><img src='./_LaTeX_lsqnonneg.xml_1.png' style='position:relative;top:19px;width:195px;height:46px'/></span></p>
+ <p class="para">lsqlin calls Ipopt, an optimization library written in C++, to solve the nonnegative least-squares curve fitting problem.</p>
+ <p class="para">The options should be defined as type &#0034;list&#0034; and consist of the following fields:</p>
+ <p class="para">options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---]);</p>
+ <p class="para"><ul class="itemizedlist"><li>MaxIter : A Scalar, specifying the maximum number of iterations that the solver should take.</li>
+<li>CpuTime : A Scalar, specifying the maximum amount of CPU time in seconds that the solver should take.</li></ul></p>
+ <p class="para">The default values for the various items are given as:</p>
+ <p class="para">options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600]);</p>
+ <p class="para">The exitflag allows the user to know the status of the optimization which is returned by Ipopt. The values it can take and what they indicate is described below:
+<ul class="itemizedlist"><li>0 : Optimal Solution Found</li>
+<li>1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
+<li>2 : Maximum amount of CPU Time exceeded. Output may not be optimal.</li>
+<li>3 : Stop at Tiny Step.</li>
+<li>4 : Solved To Acceptable Level.</li>
+<li>5 : Converged to a point of local infeasibility.</li></ul></p>
+ <p class="para">For more details on exitflag, see the Ipopt documentation which can be found on http://www.coin-or.org/Ipopt/documentation/</p>
+ <p class="para">The output data structure contains detailed information about the optimization process.
+It is of type &#0034;struct&#0034; and contains the following fields.
+<ul class="itemizedlist"><li>output.iterations: The number of iterations performed.</li>
<li>output.constrviolation: The max-norm of the constraint violation.</li></ul></p>
- <p class="para">The lambda data structure contains the Lagrange multipliers at the end
-of optimization. In the current version the values are returned only when the the solution is optimal.
+ <p class="para">The lambda data structure contains the Lagrange multipliers at the end of optimization. In the current version, the values are returned only when the the solution is optimal.
It has type &#0034;struct&#0034; and contains the following fields.
<ul class="itemizedlist"><li>lambda.lower: The Lagrange multipliers for the lower bound constraints.</li>
<li>lambda.upper: The Lagrange multipliers for the upper bound constraints.</li></ul></p>
<p class="para"></p></div>
-
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// A basic lsqnonneg problem</span>
+<p class="para">A few examples displaying the various functionalities of lsqnonneg have been provided below. You will find a series of problems and the appropriate code snippets to solve them.</p>
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">We begin with a simple objective function.</p>
+ <p class="para"><span><img src='./_LaTeX_lsqnonneg.xml_2.png' style='position:relative;top:51px;width:313px;height:140px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// Example 1: A basic lsqnonneg problem</span>
<span class="scilabid">C</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
<span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span>
<span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
@@ -102,6 +107,23 @@ It has type &#0034;struct&#0034; and contains the following fields.
<span class="scilabnumber">20</span><span class="scilabdefault">;</span><span class="scilabopenclose">]</span>
<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">resnorm</span><span class="scilabdefault">,</span><span class="scilabid">residual</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">lsqnonneg</span><span class="scilabopenclose">(</span><span class="scilabid">C</span><span class="scilabdefault">,</span><span class="scilabid">d</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">In this example, we further enhance the functionality of qpipopt by setting input options. This provides us with the ability to control the solver parameters such as the maximum number of solver iterations and the max. CPU time allowed for the computation.</p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// Example 2: A basic lsqnonneg problem with solver options.</span>
+<span class="scilabid">C</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span>
+<span class="scilabid">d</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">89</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">67</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">53</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">35</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">20</span><span class="scilabdefault">;</span><span class="scilabopenclose">]</span>
+<span class="scilabid">options</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">5000</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1000</span><span class="scilabopenclose">]</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">resnorm</span><span class="scilabdefault">,</span><span class="scilabid">residual</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">lsqnonneg</span><span class="scilabopenclose">(</span><span class="scilabid">C</span><span class="scilabdefault">,</span><span class="scilabid">d</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
<div class="refsection"><h3 class="title">Authors</h3>
<ul class="itemizedlist"><li class="member">Harpreet Singh</li></ul></div>
<br />
@@ -115,7 +137,7 @@ It has type &#0034;struct&#0034; and contains the following fields.
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/qpipopt.html b/help/en_US/scilab_en_US_help/qpipopt.html
index f134d7a..b8491a9 100644
--- a/help/en_US/scilab_en_US_help/qpipopt.html
+++ b/help/en_US/scilab_en_US_help/qpipopt.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; qpipopt</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; qpipopt</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">qpipopt</h1>
@@ -39,85 +39,90 @@
<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
<div class="synopsis"><pre><span class="default">xopt</span><span class="default"> = </span><span class="functionid">qpipopt</span><span class="default">(</span><span class="default">nbVar</span><span class="default">,</span><span class="default">nbCon</span><span class="default">,</span><span class="default">H</span><span class="default">,</span><span class="default">f</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">conLB</span><span class="default">,</span><span class="default">conUB</span><span class="default">)</span>
<span class="default">xopt</span><span class="default"> = </span><span class="functionid">qpipopt</span><span class="default">(</span><span class="default">nbVar</span><span class="default">,</span><span class="default">nbCon</span><span class="default">,</span><span class="default">H</span><span class="default">,</span><span class="default">f</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">conLB</span><span class="default">,</span><span class="default">conUB</span><span class="default">,</span><span class="default">x0</span><span class="default">)</span>
-<span class="default">xopt</span><span class="default"> = </span><span class="functionid">qpipopt</span><span class="default">(</span><span class="default">nbVar</span><span class="default">,</span><span class="default">nbCon</span><span class="default">,</span><span class="default">H</span><span class="default">,</span><span class="default">f</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">conLB</span><span class="default">,</span><span class="default">conUB</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">param</span><span class="default">)</span>
+<span class="default">xopt</span><span class="default"> = </span><span class="functionid">qpipopt</span><span class="default">(</span><span class="default">nbVar</span><span class="default">,</span><span class="default">nbCon</span><span class="default">,</span><span class="default">H</span><span class="default">,</span><span class="default">f</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">conLB</span><span class="default">,</span><span class="default">conUB</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">options</span><span class="default">)</span>
<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">output</span><span class="default">,</span><span class="default">lamda</span><span class="default">] = </span><span class="functionid">qpipopt</span><span class="default">( ... )</span></pre></div></div>
-<div class="refsection"><h3 class="title">Parameters</h3>
+<div class="refsection"><h3 class="title">Input Parameters</h3>
<dl><dt><span class="term">nbVar :</span>
- <dd><p class="para">a double, number of variables</p></dd></dt>
+ <dd><p class="para">A double, denoting the number of variables</p></dd></dt>
<dt><span class="term">nbCon :</span>
- <dd><p class="para">a double, number of constraints</p></dd></dt>
+ <dd><p class="para">A double, denoting the number of constraints</p></dd></dt>
<dt><span class="term">H :</span>
- <dd><p class="para">a symmetric matrix of double, represents coefficients of quadratic in the quadratic problem.</p></dd></dt>
+ <dd><p class="para">A symmetric matrix of doubles, representing the Hessian of the quadratic problem.</p></dd></dt>
<dt><span class="term">f :</span>
- <dd><p class="para">a vector of double, represents coefficients of linear in the quadratic problem</p></dd></dt>
+ <dd><p class="para">A vector of doubles, representing coefficients of the linear terms in the quadratic problem.</p></dd></dt>
<dt><span class="term">lb :</span>
- <dd><p class="para">a vector of double, contains lower bounds of the variables.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the lower bounds of the variables.</p></dd></dt>
<dt><span class="term">ub :</span>
- <dd><p class="para">a vector of double, contains upper bounds of the variables.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the upper bounds of the variables.</p></dd></dt>
<dt><span class="term">A :</span>
- <dd><p class="para">a matrix of double, contains the constraint matrix conLB ≤ A⋅x ≤ conUB.</p></dd></dt>
+ <dd><p class="para">A matrix of doubles, representing the constraint matrix in conLB ≤ A⋅x ≤ conUB.</p></dd></dt>
<dt><span class="term">conLB :</span>
- <dd><p class="para">a vector of double, contains lower bounds of the constraints conLB ≤ A⋅x ≤ conUB.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the lower bounds of the constraints conLB ≤ A⋅x ≤ conUB.</p></dd></dt>
<dt><span class="term">conUB :</span>
- <dd><p class="para">a vector of double, contains upper bounds of the constraints conLB ≤ A⋅x ≤ conUB.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the upper bounds of the constraints conLB ≤ A⋅x ≤ conUB.</p></dd></dt>
<dt><span class="term">x0 :</span>
- <dd><p class="para">a vector of double, contains initial guess of variables.</p></dd></dt>
- <dt><span class="term">param :</span>
- <dd><p class="para">a list containing the parameters to be set.</p></dd></dt>
- <dt><span class="term">xopt :</span>
- <dd><p class="para">a vector of double, the computed solution of the optimization problem.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the starting values of variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
+ <dt><span class="term">options :</span>
+ <dd><p class="para">A list, containing the option for user to specify. See below for details.</p></dd></dt></dl></div>
+<div class="refsection"><h3 class="title">Outputs</h3>
+ <dl><dt><span class="term">xopt :</span>
+ <dd><p class="para">A vector of doubles, containing the computed solution of the optimization problem.</p></dd></dt>
<dt><span class="term">fopt :</span>
- <dd><p class="para">a double, the value of the function at x.</p></dd></dt>
+ <dd><p class="para">A double, containing the value of the function at xopt.</p></dd></dt>
<dt><span class="term">exitflag :</span>
- <dd><p class="para">The exit status. See below for details.</p></dd></dt>
+ <dd><p class="para">An integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
<dt><span class="term">output :</span>
- <dd><p class="para">The structure consist of statistics about the optimization. See below for details.</p></dd></dt>
+ <dd><p class="para">A structure, containing the information about the optimization. See below for details.</p></dd></dt>
<dt><span class="term">lambda :</span>
- <dd><p class="para">The structure consist of the Lagrange multipliers at the solution of problem. See below for details.</p></dd></dt></dl></div>
+ <dd><p class="para">A structure, containing the Lagrange multipliers of the lower bounds, upper bounds and constraints at the optimized point. See below for details.</p></dd></dt></dl></div>
<div class="refsection"><h3 class="title">Description</h3>
<p class="para">Search the minimum of a constrained linear quadratic optimization problem specified by :</p>
- <p class="para"><span><img src='./_LaTeX_qpipopt.xml_1.png' style='position:relative;top:31px;width:292px;height:70px'/></span></p>
- <p class="para">The routine calls Ipopt for solving the quadratic problem, Ipopt is a library written in C++.</p>
- <p class="para">The options allows the user to set various parameters of the Optimization problem.
-It should be defined as type &#0034;list&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>Syntax : options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---]);</li>
-<li>MaxIter : a Scalar, containing the Maximum Number of Iteration that the solver should take.</li>
-<li>CpuTime : a Scalar, containing the Maximum amount of CPU Time that the solver should take.</li>
-<li>Default Values : options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600]);</li></ul></p>
- <p class="para">The exitflag allows to know the status of the optimization which is given back by Ipopt.
-<ul class="itemizedlist"><li>exitflag=0 : Optimal Solution Found</li>
-<li>exitflag=1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
-<li>exitflag=2 : Maximum CPU Time exceeded. Output may not be optimal.</li>
-<li>exitflag=3 : Stop at Tiny Step.</li>
-<li>exitflag=4 : Solved To Acceptable Level.</li>
-<li>exitflag=5 : Converged to a point of local infeasibility.</li></ul></p>
- <p class="para">For more details on exitflag see the ipopt documentation, go to http://www.coin-or.org/Ipopt/documentation/</p>
- <p class="para">The output data structure contains detailed informations about the optimization process.
-It has type &#0034;struct&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>output.iterations: The number of iterations performed during the search</li>
+ <p class="para"><span><img src='./_LaTeX_qpipopt.xml_1.png' style='position:relative;top:31px;width:299px;height:70px'/></span></p>
+ <p class="para">qpipopt calls Ipopt, an optimization library written in C++, to solve the optimization problem.</p>
+ <p class="para"><h3 class="title">Options</h3>
+The options allow the user to set various parameters of the Optimization problem. The syntax for the options is given by:</p>
+ <p class="para">options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---], &#0034;GradObj&#0034;, ---, &#0034;Hessian&#0034;, ---, &#0034;GradCon&#0034;, ---);</p>
+ <p class="para">The options should be defined as type &#0034;list&#0034; and consist of the following fields:
+<ul class="itemizedlist"><li>MaxIter : A Scalar, specifying the maximum number of iterations that the solver should take.</li>
+<li>CpuTime : A Scalar, specifying the maximum amount of CPU time in seconds that the solver should take.</li></ul></p>
+ <p class="para">The default values for the various items are given as:</p>
+ <p class="para">options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600]);</p>
+ <p class="para">The exitflag allows the user to know the status of the optimization which is returned by Ipopt. The values it can take and what they indicate is described below:
+<ul class="itemizedlist"><li>0 : Optimal Solution Found</li>
+<li>1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
+<li>2 : Maximum amount of CPU Time exceeded. Output may not be optimal.</li>
+<li>3 : Stop at Tiny Step.</li>
+<li>4 : Solved To Acceptable Level.</li>
+<li>5 : Converged to a point of local infeasibility.</li></ul></p>
+ <p class="para">For more details on exitflag, see the Ipopt documentation which can be found on http://www.coin-or.org/Ipopt/documentation/</p>
+ <p class="para">The output data structure contains detailed information about the optimization process.
+It is of type &#0034;struct&#0034; and contains the following fields.
+<ul class="itemizedlist"><li>output.iterations: The number of iterations performed.</li>
<li>output.constrviolation: The max-norm of the constraint violation.</li></ul></p>
- <p class="para">The lambda data structure contains the Lagrange multipliers at the end
-of optimization. In the current version the values are returned only when the the solution is optimal.
+ <p class="para">The lambda data structure contains the Lagrange multipliers at the end of optimization. In the current version, the values are returned only when the the solution is optimal.
It has type &#0034;struct&#0034; and contains the following fields.
<ul class="itemizedlist"><li>lambda.lower: The Lagrange multipliers for the lower bound constraints.</li>
<li>lambda.upper: The Lagrange multipliers for the upper bound constraints.</li>
<li>lambda.eqlin: The Lagrange multipliers for the linear equality constraints.</li>
<li>lambda.ineqlin: The Lagrange multipliers for the linear inequality constraints.</li></ul></p>
<p class="para"></p></div>
-
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Ref : example 14 :</span>
-<span class="scilabcomment">//https://www.me.utexas.edu/~jensen/ORMM/supplements/methods/nlpmethod/S2_quadratic.pdf</span>
-<span class="scilabcomment">// min. -8*x1*x1 -16*x2*x2 + x1 + 4*x2</span>
+<p class="para">A few examples displaying the various functionalities of qpipopt have been provided below. You will find a series of problems and the appropriate code snippets to solve them.</p>
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">We begin with a quadratic objective functions, subjected to two bounds for the functions, and two bounds for the constraints.</p>
+ <p class="para">Find x in R^2 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_qpipopt.xml_2.png' style='position:relative;top:37px;width:224px;height:139px'/></span></p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 1: Standard quadratic objective function</span>
+<span class="scilabcomment">//(Ref : example 14)https://www.me.utexas.edu/~jensen/ORMM/supplements/methods/nlpmethod/S2_quadratic.pdf</span>
+<span class="scilabcomment">// min. -8*x1^2 -16*x2^2 + x1 + 4*x2</span>
<span class="scilabcomment">// such that</span>
<span class="scilabcomment">// x1 + x2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 5,</span>
<span class="scilabcomment">// x1 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 3,</span>
<span class="scilabcomment">// x1 </span><span class="scilabcomment">&#0062;</span><span class="scilabcomment">= 0,</span>
<span class="scilabcomment">// x2 </span><span class="scilabcomment">&#0062;</span><span class="scilabcomment">= 0</span>
-<span class="scilabid">H</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span> <span class="scilabnumber">0</span>
-<span class="scilabnumber">0</span> <span class="scilabnumber">8</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">H</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">16</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span> <span class="scilabnumber">0</span> <span class="scilabnumber">8</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabid">f</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">8</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">16</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabid">conUB</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">5</span><span class="scilabdefault">;</span><span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
@@ -129,24 +134,82 @@ It has type &#0034;struct&#0034; and contains the following fields.
<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">qpipopt</span><span class="scilabopenclose">(</span><span class="scilabid">nbVar</span><span class="scilabdefault">,</span><span class="scilabid">nbCon</span><span class="scilabdefault">,</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">conLB</span><span class="scilabdefault">,</span><span class="scilabid">conUB</span><span class="scilabopenclose">)</span>
<span class="scilabcomment">//Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Find x in R^6 such that:</span>
-<span class="scilabid">A</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
-<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabdefault">;</span>
-<span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span>
-<span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
-<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">conLB</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">3</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">conUB</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span><span class="scilabnumber">3</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">2.5</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">lb</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabnumber">10000</span><span class="scilabdefault">;</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">ub</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">10000</span><span class="scilabdefault">;</span> <span class="scilabnumber">100</span><span class="scilabdefault">;</span> <span class="scilabnumber">1.5</span><span class="scilabdefault">;</span> <span class="scilabnumber">100</span><span class="scilabdefault">;</span> <span class="scilabnumber">100</span><span class="scilabdefault">;</span> <span class="scilabnumber">1000</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabcomment">//and minimize 0.5*x</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">â‹…Hâ‹…x + f</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">â‹…x with</span>
-<span class="scilabid">f</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabdefault">;</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span> <span class="scilabnumber">5</span><span class="scilabdefault">;</span> <span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabid">H</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://eye">eye</a><span class="scilabopenclose">(</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
-<span class="scilabid">nbVar</span> <span class="scilaboperator">=</span> <span class="scilabnumber">6</span><span class="scilabdefault">;</span>
-<span class="scilabid">nbCon</span> <span class="scilaboperator">=</span> <span class="scilabnumber">5</span><span class="scilabdefault">;</span>
-<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabid">nbVar</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
-<span class="scilabid">param</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabnumber">300</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabnumber">100</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
-<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">qpipopt</span><span class="scilabopenclose">(</span><span class="scilabid">nbVar</span><span class="scilabdefault">,</span><span class="scilabid">nbCon</span><span class="scilabdefault">,</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">conLB</span><span class="scilabdefault">,</span><span class="scilabid">conUB</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">param</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">We build on the previous example by providing a starting point, to facilitate the computation.</p>
+ <p class="para"><span><img src='./_LaTeX_qpipopt.xml_3.png' style='position:relative;top:37px;width:224px;height:133px'/></span></p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 2: Standard quadratic objective function with starting points</span>
+<span class="scilabcomment">//Find x in R^2 such that:</span>
+<span class="scilabid">H</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">16</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span> <span class="scilabnumber">0</span> <span class="scilabnumber">8</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">f</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">8</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">16</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">conUB</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">5</span><span class="scilabdefault">;</span><span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">conLB</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabconstants">%inf</span><span class="scilabdefault">;</span> <span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">nbVar</span> <span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabid">nbCon</span> <span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">qpipopt</span><span class="scilabopenclose">(</span><span class="scilabid">nbVar</span><span class="scilabdefault">,</span><span class="scilabid">nbCon</span><span class="scilabdefault">,</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">conLB</span><span class="scilabdefault">,</span><span class="scilabid">conUB</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">We can further enhance the functionality of qpipopt by setting input options. This provides us with the ability to control the solver parameters such as the maximum number of solver iterations and the max. CPU time allowed for the computation.</p>
+ <p class="para"><span><img src='./_LaTeX_qpipopt.xml_4.png' style='position:relative;top:37px;width:224px;height:133px'/></span></p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 3: Standard quadratic objective function with starting points and options.</span>
+<span class="scilabid">H</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">16</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span> <span class="scilabnumber">0</span> <span class="scilabnumber">8</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">f</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">8</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">16</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">conUB</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">5</span><span class="scilabdefault">;</span><span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">conLB</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabconstants">%inf</span><span class="scilabdefault">;</span> <span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">nbVar</span> <span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabid">nbCon</span> <span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">options</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabnumber">300</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabnumber">100</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">qpipopt</span><span class="scilabopenclose">(</span><span class="scilabid">nbVar</span><span class="scilabdefault">,</span><span class="scilabid">nbCon</span><span class="scilabdefault">,</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">conLB</span><span class="scilabdefault">,</span><span class="scilabid">conUB</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Infeasible Problems: Find x in R^2 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_qpipopt.xml_5.png' style='position:relative;top:37px;width:224px;height:139px'/></span></p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 4: Infeasible Problem</span>
+<span class="scilabcomment">//(Ref : example 14)https://www.me.utexas.edu/~jensen/ORMM/supplements/methods/nlpmethod/S2_quadratic.pdf</span>
+<span class="scilabcomment">// min. -8*x1^2 -16*x2^2 + x1 + 4*x2</span>
+<span class="scilabcomment">// such that</span>
+<span class="scilabcomment">// x1 + x2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 5,</span>
+<span class="scilabcomment">// x1 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 3,</span>
+<span class="scilabcomment">// x1 </span><span class="scilabcomment">&#0062;</span><span class="scilabcomment">= 0,</span>
+<span class="scilabcomment">// x2 </span><span class="scilabcomment">&#0062;</span><span class="scilabcomment">= 0</span>
+<span class="scilabid">H</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">16</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span> <span class="scilabnumber">0</span> <span class="scilabnumber">8</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">f</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">8</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">16</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span>
+<span class="scilabid">conUB</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">5</span><span class="scilabdefault">;</span><span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">conLB</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">4</span><span class="scilabdefault">;</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabconstants">%inf</span><span class="scilabdefault">;</span> <span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">nbVar</span> <span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabid">nbCon</span> <span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">qpipopt</span><span class="scilabopenclose">(</span><span class="scilabid">nbVar</span><span class="scilabdefault">,</span><span class="scilabid">nbCon</span><span class="scilabdefault">,</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">conLB</span><span class="scilabdefault">,</span><span class="scilabid">conUB</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">//Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Unbounded Problems: Find x in R^2 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_qpipopt.xml_6.png' style='position:relative;top:37px;width:224px;height:133px'/></span></p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 5: Unbounded Problem</span>
+<span class="scilabcomment">//Find x in R^2 such that:</span>
+<span class="scilabid">H</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">16</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span> <span class="scilabnumber">0</span> <span class="scilabnumber">8</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">f</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">8</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">16</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span> <span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">conUB</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">5</span><span class="scilabdefault">;</span><span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">conLB</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabconstants">%inf</span><span class="scilabdefault">;</span> <span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">nbVar</span> <span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabid">nbCon</span> <span class="scilaboperator">=</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span>
+<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabdefault">;</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">qpipopt</span><span class="scilabopenclose">(</span><span class="scilabid">nbVar</span><span class="scilabdefault">,</span><span class="scilabid">nbCon</span><span class="scilabdefault">,</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">conLB</span><span class="scilabdefault">,</span><span class="scilabid">conUB</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
<div class="refsection"><h3 class="title">Authors</h3>
<ul class="itemizedlist"><li class="member">Keyur Joshi, Saikiran, Iswarya, Harpreet Singh</li></ul></div>
@@ -161,7 +224,7 @@ It has type &#0034;struct&#0034; and contains the following fields.
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/qpipoptmat.html b/help/en_US/scilab_en_US_help/qpipoptmat.html
index cd9a0ad..7aa50eb 100644
--- a/help/en_US/scilab_en_US_help/qpipoptmat.html
+++ b/help/en_US/scilab_en_US_help/qpipoptmat.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; qpipoptmat</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; qpipoptmat</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">qpipoptmat</h1>
@@ -45,62 +45,64 @@
<span class="default">xopt</span><span class="default"> = </span><span class="functionid">qpipoptmat</span><span class="default">(</span><span class="default">H</span><span class="default">,</span><span class="default">f</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">x0</span><span class="default">,</span><span class="default">param</span><span class="default">)</span>
<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">output</span><span class="default">,</span><span class="default">lamda</span><span class="default">] = </span><span class="functionid">qpipoptmat</span><span class="default">( ... )</span></pre></div></div>
-<div class="refsection"><h3 class="title">Parameters</h3>
+<div class="refsection"><h3 class="title">Input Parameters</h3>
<dl><dt><span class="term">H :</span>
- <dd><p class="para">a symmetric matrix of double, represents coefficients of quadratic in the quadratic problem.</p></dd></dt>
+ <dd><p class="para">A symmetric matrix of doubles, representing the Hessian of the quadratic problem.</p></dd></dt>
<dt><span class="term">f :</span>
- <dd><p class="para">a vector of double, represents coefficients of linear in the quadratic problem</p></dd></dt>
+ <dd><p class="para">A vector of doubles, representing coefficients of the linear terms in the quadratic problem.</p></dd></dt>
<dt><span class="term">A :</span>
- <dd><p class="para">a matrix of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.</p></dd></dt>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear inequality constraints of size (m X n) where &#0039;m&#0039; is the number of linear inequality constraints.</p></dd></dt>
<dt><span class="term">b :</span>
- <dd><p class="para">a vector of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, related to &#0039;A&#0039; and containing the the Right hand side equation of the linear inequality constraints of size (m X 1).</p></dd></dt>
<dt><span class="term">Aeq :</span>
- <dd><p class="para">a matrix of double, represents the linear coefficients in the equality constraints Aeqâ‹…x = beq.</p></dd></dt>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear equality constraints of size (m1 X n) where &#0039;m1&#0039; is the number of linear equality constraints.</p></dd></dt>
<dt><span class="term">beq :</span>
- <dd><p class="para">a vector of double, represents the linear coefficients in the equality constraints Aeqâ‹…x = beq.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, related to &#0039;Aeq&#0039; and containing the the Right hand side equation of the linear equality constraints of size (m1 X 1).</p></dd></dt>
<dt><span class="term">lb :</span>
- <dd><p class="para">a vector of double, contains lower bounds of the variables.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the lower bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">ub :</span>
- <dd><p class="para">a vector of double, contains upper bounds of the variables.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the upper bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">x0 :</span>
- <dd><p class="para">a vector of double, contains initial guess of variables.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the starting values of variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">param :</span>
- <dd><p class="para">a list containing the parameters to be set.</p></dd></dt>
- <dt><span class="term">xopt :</span>
- <dd><p class="para">a vector of double, the computed solution of the optimization problem.</p></dd></dt>
+ <dd><p class="para">A list, containing the option for user to specify. See below for details.</p></dd></dt></dl></div>
+<div class="refsection"><h3 class="title">Outputs</h3>
+ <dl><dt><span class="term">xopt :</span>
+ <dd><p class="para">A vector of doubles, containing the computed solution of the optimization problem.</p></dd></dt>
<dt><span class="term">fopt :</span>
- <dd><p class="para">a double, the value of the function at x.</p></dd></dt>
+ <dd><p class="para">A double, containing the value of the function at xopt.</p></dd></dt>
<dt><span class="term">exitflag :</span>
- <dd><p class="para">The exit status. See below for details.</p></dd></dt>
+ <dd><p class="para">An integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt>
<dt><span class="term">output :</span>
- <dd><p class="para">The structure consist of statistics about the optimization. See below for details.</p></dd></dt>
+ <dd><p class="para">A structure, containing the information about the optimization. See below for details.</p></dd></dt>
<dt><span class="term">lambda :</span>
- <dd><p class="para">The structure consist of the Lagrange multipliers at the solution of problem. See below for details.</p></dd></dt></dl></div>
+ <dd><p class="para">A structure, containing the Lagrange multipliers of the lower bounds, upper bounds and constraints at the optimized point. See below for details.</p></dd></dt></dl></div>
<div class="refsection"><h3 class="title">Description</h3>
<p class="para">Search the minimum of a constrained linear quadratic optimization problem specified by :</p>
- <p class="para"><span><img src='./_LaTeX_qpipoptmat.xml_1.png' style='position:relative;top:41px;width:277px;height:90px'/></span></p>
- <p class="para">The routine calls Ipopt for solving the quadratic problem, Ipopt is a library written in C++.</p>
- <p class="para">The options allows the user to set various parameters of the Optimization problem.
-It should be defined as type &#0034;list&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>Syntax : options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---]);</li>
-<li>MaxIter : a Scalar, containing the Maximum Number of Iteration that the solver should take.</li>
-<li>CpuTime : a Scalar, containing the Maximum amount of CPU Time that the solver should take.</li>
-<li>Default Values : options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600]);</li></ul></p>
- <p class="para">The exitflag allows to know the status of the optimization which is given back by Ipopt.
-<ul class="itemizedlist"><li>exitflag=0 : Optimal Solution Found</li>
-<li>exitflag=1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
-<li>exitflag=2 : Maximum CPU Time exceeded. Output may not be optimal.</li>
-<li>exitflag=3 : Stop at Tiny Step.</li>
-<li>exitflag=4 : Solved To Acceptable Level.</li>
-<li>exitflag=5 : Converged to a point of local infeasibility.</li></ul></p>
- <p class="para">For more details on exitflag see the ipopt documentation, go to http://www.coin-or.org/Ipopt/documentation/</p>
- <p class="para">The output data structure contains detailed informations about the optimization process.
-It has type &#0034;struct&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>output.iterations: The number of iterations performed during the search</li>
+ <p class="para"><span><img src='./_LaTeX_qpipoptmat.xml_1.png' style='position:relative;top:18px;width:315px;height:95px'/></span></p>
+ <p class="para">qpipoptmat calls Ipopt, an optimization library written in C++, to solve the optimization problem.</p>
+ <h3 class="title">Options</h3>
+ <p class="para">The options allow the user to set various parameters of the Optimization problem. The syntax for the options is given by:</p>
+ <p class="para">options= list(&#0034;MaxIter&#0034;, [---], &#0034;CpuTime&#0034;, [---], &#0034;GradObj&#0034;, ---, &#0034;Hessian&#0034;, ---, &#0034;GradCon&#0034;, ---);</p>
+ <p class="para">The options should be defined as type &#0034;list&#0034; and consist of the following fields:
+<ul class="itemizedlist"><li>MaxIter : A Scalar, specifying the maximum number of iterations that the solver should take.</li>
+<li>CpuTime : A Scalar, specifying the maximum amount of CPU time in seconds that the solver should take.</li></ul></p>
+ <p class="para">The default values for the various items are given as:</p>
+ <p class="para">options = list(&#0034;MaxIter&#0034;, [3000], &#0034;CpuTime&#0034;, [600]);</p>
+ <p class="para">The exitflag allows the user to know the status of the optimization which is returned by Ipopt. The values it can take and what they indicate is described below:
+<ul class="itemizedlist"><li>0 : Optimal Solution Found</li>
+<li>1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li>
+<li>2 : Maximum amount of CPU Time exceeded. Output may not be optimal.</li>
+<li>3 : Stop at Tiny Step.</li>
+<li>4 : Solved To Acceptable Level.</li>
+<li>5 : Converged to a point of local infeasibility.</li></ul></p>
+ <p class="para">For more details on exitflag, see the Ipopt documentation which can be found on http://www.coin-or.org/Ipopt/documentation/</p>
+ <p class="para">The output data structure contains detailed information about the optimization process.
+It is of type &#0034;struct&#0034; and contains the following fields.
+<ul class="itemizedlist"><li>output.iterations: The number of iterations performed.</li>
<li>output.constrviolation: The max-norm of the constraint violation.</li></ul></p>
- <p class="para">The lambda data structure contains the Lagrange multipliers at the end
-of optimization. In the current version the values are returned only when the the solution is optimal.
+ <p class="para">The lambda data structure contains the Lagrange multipliers at the end of optimization. In the current version, the values are returned only when the the solution is optimal.
It has type &#0034;struct&#0034; and contains the following fields.
<ul class="itemizedlist"><li>lambda.lower: The Lagrange multipliers for the lower bound constraints.</li>
<li>lambda.upper: The Lagrange multipliers for the upper bound constraints.</li>
@@ -108,42 +110,126 @@ It has type &#0034;struct&#0034; and contains the following fields.
<li>lambda.ineqlin: The Lagrange multipliers for the linear inequality constraints.</li></ul></p>
<p class="para"></p></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Ref : example 14 :</span>
-<span class="scilabcomment">//https://www.me.utexas.edu/~jensen/ORMM/supplements/methods/nlpmethod/S2_quadratic.pdf</span>
-<span class="scilabcomment">// min. -8*x1*x1 -16*x2*x2 + x1 + 4*x2</span>
-<span class="scilabcomment">// such that</span>
-<span class="scilabcomment">// x1 + x2 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 5,</span>
-<span class="scilabcomment">// x1 </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= 3,</span>
-<span class="scilabcomment">// x1 </span><span class="scilabcomment">&#0062;</span><span class="scilabcomment">= 0,</span>
-<span class="scilabcomment">// x2 </span><span class="scilabcomment">&#0062;</span><span class="scilabcomment">= 0</span>
-<span class="scilabid">H</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">2</span> <span class="scilabnumber">0</span>
-<span class="scilabnumber">0</span> <span class="scilabnumber">8</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">f</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">8</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">16</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">1</span><span class="scilabdefault">;</span><span class="scilabnumber">1</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">5</span><span class="scilabdefault">;</span><span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabconstants">%inf</span><span class="scilabdefault">;</span> <span class="scilabconstants">%inf</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">qpipoptmat</span><span class="scilabopenclose">(</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span>
-<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
-
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Find x in R^6 such that:</span>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Here we solve a simple objective function.</p>
+ <p class="para">Find x in R^6 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_qpipoptmat.xml_2.png' style='position:relative;top:42px;width:284px;height:92px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 1:</span>
+<span class="scilabcomment">//Minimize 0.5*x</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*H*x + f</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*x with</span>
+<span class="scilabid">f</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabdefault">;</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span> <span class="scilabnumber">5</span><span class="scilabdefault">;</span> <span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabid">H</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://eye">eye</a><span class="scilabopenclose">(</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">qpipoptmat</span><span class="scilabopenclose">(</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ We proceed to add simple linear inequality constraints.
+
+<p class="para"><span><img src='./_LaTeX_qpipoptmat.xml_3.png' style='position:relative;top:17px;width:229px;height:42px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 2:</span>
+<span class="scilabid">f</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabdefault">;</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span> <span class="scilabnumber">5</span><span class="scilabdefault">;</span> <span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabid">H</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://eye">eye</a><span class="scilabopenclose">(</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2.5</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">qpipoptmat</span><span class="scilabopenclose">(</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ Here we build up on the previous example by adding linear equality constraints.
+We add the following constraints to the problem specified above:
+<p class="para"><span><img src='./_LaTeX_qpipoptmat.xml_4.png' style='position:relative;top:27px;width:238px;height:62px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 3:</span>
+<span class="scilabcomment">//Minimize 0.5*x</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*H*x + f</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*x with</span>
+<span class="scilabid">f</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabdefault">;</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span> <span class="scilabnumber">5</span><span class="scilabdefault">;</span> <span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabid">H</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://eye">eye</a><span class="scilabopenclose">(</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2.5</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Equality constraints</span>
+<span class="scilabid">Aeq</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">qpipoptmat</span><span class="scilabopenclose">(</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">In this example, we proceed to add the upper and lower bounds to the objective function.</p>
+<p class="para"><span><img src='./_LaTeX_qpipoptmat.xml_5.png' style='position:relative;top:57px;width:193px;height:122px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 4:</span>
+<span class="scilabcomment">//Minimize 0.5*x</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*H*x + f</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*x with</span>
+<span class="scilabid">f</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabdefault">;</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span> <span class="scilabnumber">5</span><span class="scilabdefault">;</span> <span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabid">H</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://eye">eye</a><span class="scilabopenclose">(</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2.5</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Equality constraints</span>
<span class="scilabid">Aeq</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabdefault">;</span>
<span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Variable bounds</span>
+<span class="scilabid">lb</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">10000</span><span class="scilabdefault">;</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">ub</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">10000</span><span class="scilabdefault">;</span> <span class="scilabnumber">100</span><span class="scilabdefault">;</span> <span class="scilabnumber">1.5</span><span class="scilabdefault">;</span> <span class="scilabnumber">100</span><span class="scilabdefault">;</span> <span class="scilabnumber">100</span><span class="scilabdefault">;</span> <span class="scilabnumber">1000</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">qpipoptmat</span><span class="scilabopenclose">(</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">In this example, we initialize the values of x to speed up the computation. We further enhance the functionality of qpipoptmat by setting input options.</p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 5:</span>
+<span class="scilabcomment">//Minimize 0.5*x</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*H*x + f</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*x with</span>
+<span class="scilabid">f</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabdefault">;</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span> <span class="scilabnumber">5</span><span class="scilabdefault">;</span> <span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabid">H</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://eye">eye</a><span class="scilabopenclose">(</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Inequality constraints</span>
<span class="scilabid">A</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2.5</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Equality constraints</span>
+<span class="scilabid">Aeq</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Variable bounds</span>
<span class="scilabid">lb</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">10000</span><span class="scilabdefault">;</span> <span class="scilabnumber">0</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabdefault">;</span> <span class="scilaboperator">-</span><span class="scilabnumber">1000</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabid">ub</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">10000</span><span class="scilabdefault">;</span> <span class="scilabnumber">100</span><span class="scilabdefault">;</span> <span class="scilabnumber">1.5</span><span class="scilabdefault">;</span> <span class="scilabnumber">100</span><span class="scilabdefault">;</span> <span class="scilabnumber">100</span><span class="scilabdefault">;</span> <span class="scilabnumber">1000</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Initial guess and options</span>
<span class="scilabid">x0</span> <span class="scilaboperator">=</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
-<span class="scilabid">param</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabnumber">300</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabnumber">100</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
-<span class="scilabcomment">//and minimize 0.5*x</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*H*x + f</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*x with</span>
+<span class="scilabid">options</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">MaxIter</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabnumber">300</span><span class="scilabdefault">,</span> <span class="scilabstring">&#0034;</span><span class="scilabstring">CpuTime</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabnumber">100</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">qpipoptmat</span><span class="scilabopenclose">(</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+Infeasible Problems: Find x in R^6 such that it minimizes the following objective function under the given constraints:
+<p class="para"><span><img src='./_LaTeX_qpipoptmat.xml_6.png' style='position:relative;top:40px;width:298px;height:88px'/></span></p>
+<p class="para"></p>
+<div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 6:</span>
+<span class="scilabcomment">//Minimize 0.5*x</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*H*x + f</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*x with</span>
<span class="scilabid">f</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabdefault">;</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span> <span class="scilabnumber">5</span><span class="scilabdefault">;</span> <span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabid">H</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://eye">eye</a><span class="scilabopenclose">(</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
-<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">qpipoptmat</span><span class="scilabopenclose">(</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">param</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+<span class="scilabcomment">//Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2.5</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Equality constraints</span>
+<span class="scilabid">Aeq</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">4</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">qpipoptmat</span><span class="scilabopenclose">(</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+<div class="refsection"><h3 class="title">Example</h3>
+<p class="para">Unbounded Problems: Find x in R^6 such that it minimizes the objective function used above under the following constraints:</p>
+<p class="para"><span><img src='./_LaTeX_qpipoptmat.xml_7.png' style='position:relative;top:40px;width:426px;height:204px'/></span></p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 7:</span>
+<span class="scilabcomment">//Minimize 0.5*x</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*H*x + f</span><span class="scilabcomment">&#0039;</span><span class="scilabcomment">*x with</span>
+<span class="scilabid">f</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabdefault">;</span> <span class="scilabnumber">3</span><span class="scilabdefault">;</span> <span class="scilabnumber">4</span><span class="scilabdefault">;</span> <span class="scilabnumber">5</span><span class="scilabdefault">;</span> <span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabid">H</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://eye">eye</a><span class="scilabopenclose">(</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span> <span class="scilabid">H</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span> <span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Inequality constraints</span>
+<span class="scilabid">A</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2.5</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Equality constraints</span>
+<span class="scilabid">Aeq</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span> <span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">lambda</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">qpipoptmat</span><span class="scilabopenclose">(</span><span class="scilabid">H</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
<div class="refsection"><h3 class="title">Authors</h3>
<ul class="itemizedlist"><li class="member">Keyur Joshi, Saikiran, Iswarya, Harpreet Singh</li></ul></div>
<br />
@@ -157,7 +243,7 @@ It has type &#0034;struct&#0034; and contains the following fields.
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/section_016165dcad2b2229387faee34442c3dd.html b/help/en_US/scilab_en_US_help/section_016165dcad2b2229387faee34442c3dd.html
new file mode 100644
index 0000000..2c3f0b9
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/section_016165dcad2b2229387faee34442c3dd.html
@@ -0,0 +1,285 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="symphonymat.html">&lt;&lt; symphonymat</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_7f9be39cf912aa1e283b946d86a6bd7c.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_7f9be39cf912aa1e283b946d86a6bd7c.html">FOSSEE Optimization Toolbox</a> &gt; Symphony Native Functions</span>
+
+ <br /><br />
+ <h3 class="title-chapter">Symphony Native Functions</h3>
+<ul class="list-refentry"><li><a href="sym_addConstr.html" class="refentry">sym_addConstr</a> &#8212; <span class="refentry-description">Add a new constraint</span></li>
+
+
+
+<li><a href="sym_addVar.html" class="refentry">sym_addVar</a> &#8212; <span class="refentry-description">Add a new variable</span></li>
+
+
+
+<li><a href="sym_close.html" class="refentry">sym_close</a> &#8212; <span class="refentry-description">Close the Symphony environment</span></li>
+
+
+
+<li><a href="sym_deleteConstrs.html" class="refentry">sym_deleteConstrs</a> &#8212; <span class="refentry-description">This routine is used to delete rows from the original constraint matrix.</span></li>
+
+
+
+<li><a href="sym_deleteVars.html" class="refentry">sym_deleteVars</a> &#8212; <span class="refentry-description">This routine is used to delete columns from the original problem description.</span></li>
+
+
+
+<li><a href="sym_getConstrActivity.html" class="refentry">sym_getConstrActivity</a> &#8212; <span class="refentry-description">Get the activity of the constraints in the solution</span></li>
+
+
+
+<li><a href="sym_getConstrLower.html" class="refentry">sym_getConstrLower</a> &#8212; <span class="refentry-description">To get the lower bounds of the constraints.</span></li>
+
+
+
+<li><a href="sym_getConstrRange.html" class="refentry">sym_getConstrRange</a> &#8212; <span class="refentry-description">To to get the constraint ranges.</span></li>
+
+
+
+<li><a href="sym_getConstrSense.html" class="refentry">sym_getConstrSense</a> &#8212; <span class="refentry-description">To get the row senses.</span></li>
+
+
+
+<li><a href="sym_getConstrUpper.html" class="refentry">sym_getConstrUpper</a> &#8212; <span class="refentry-description">To get the upper bounds of the constraints.</span></li>
+
+
+
+<li><a href="sym_getDblParam.html" class="refentry">sym_getDblParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of a double type parameter.</span></li>
+
+
+
+<li><a href="sym_getInfinity.html" class="refentry">sym_getInfinity</a> &#8212; <span class="refentry-description">Get Symphony&#0039;s infinity value</span></li>
+
+
+
+<li><a href="sym_getIntParam.html" class="refentry">sym_getIntParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of an integer type parameter.</span></li>
+
+
+
+<li><a href="sym_getIterCount.html" class="refentry">sym_getIterCount</a> &#8212; <span class="refentry-description">To get the number of the analyzed nodes of the branching tree after solving the problem.</span></li>
+
+
+
+<li><a href="sym_getMatrix.html" class="refentry">sym_getMatrix</a> &#8212; <span class="refentry-description">To get the constraint matrix.</span></li>
+
+
+
+<li><a href="sym_getNumConstr.html" class="refentry">sym_getNumConstr</a> &#8212; <span class="refentry-description">To get the number of the constraints of the current problem.</span></li>
+
+
+
+<li><a href="sym_getNumElements.html" class="refentry">sym_getNumElements</a> &#8212; <span class="refentry-description">To get the number of non-zero entries of the constraint matrix of the current problem.</span></li>
+
+
+
+<li><a href="sym_getNumVar.html" class="refentry">sym_getNumVar</a> &#8212; <span class="refentry-description">To get the number of the variables of the current problem.</span></li>
+
+
+
+<li><a href="sym_getObjCoeff.html" class="refentry">sym_getObjCoeff</a> &#8212; <span class="refentry-description">To get the objective vector.</span></li>
+
+
+
+<li><a href="sym_getObjSense.html" class="refentry">sym_getObjSense</a> &#8212; <span class="refentry-description">Get the objective sense</span></li>
+
+
+
+<li><a href="sym_getObjVal.html" class="refentry">sym_getObjVal</a> &#8212; <span class="refentry-description">Get the optimized objective value</span></li>
+
+
+
+<li><a href="sym_getPrimalBound.html" class="refentry">sym_getPrimalBound</a> &#8212; <span class="refentry-description">Get the primal bound of the problem</span></li>
+
+
+
+<li><a href="sym_getRhs.html" class="refentry">sym_getRhs</a> &#8212; <span class="refentry-description">To to get the right hand side vector(column vector).</span></li>
+
+
+
+<li><a href="sym_getStatus.html" class="refentry">sym_getStatus</a> &#8212; <span class="refentry-description">To get status of the problem solver.</span></li>
+
+
+
+<li><a href="sym_getStrParam.html" class="refentry">sym_getStrParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of a string type parameter.</span></li>
+
+
+
+<li><a href="sym_getVarLower.html" class="refentry">sym_getVarLower</a> &#8212; <span class="refentry-description">To get the lower bounds of the variables.</span></li>
+
+
+
+<li><a href="sym_getVarSoln.html" class="refentry">sym_getVarSoln</a> &#8212; <span class="refentry-description">Get the solution for the problem</span></li>
+
+
+
+<li><a href="sym_getVarUpper.html" class="refentry">sym_getVarUpper</a> &#8212; <span class="refentry-description">To get the upper bounds of the variables.</span></li>
+
+
+
+<li><a href="sym_isAbandoned.html" class="refentry">sym_isAbandoned</a> &#8212; <span class="refentry-description">To check whether the problem was abandoned for some reason.</span></li>
+
+
+
+<li><a href="sym_isBinary.html" class="refentry">sym_isBinary</a> &#8212; <span class="refentry-description">Check if a variable is constrained to be binary</span></li>
+
+
+
+<li><a href="sym_isContinuous.html" class="refentry">sym_isContinuous</a> &#8212; <span class="refentry-description">Check if a variable is continuous</span></li>
+
+
+
+<li><a href="sym_isEnvActive.html" class="refentry">sym_isEnvActive</a> &#8212; <span class="refentry-description">Check if Symphony environment is active</span></li>
+
+
+
+<li><a href="sym_isInfeasible.html" class="refentry">sym_isInfeasible</a> &#8212; <span class="refentry-description">To check whether the problem was proven to be infeasible.</span></li>
+
+
+
+<li><a href="sym_isInteger.html" class="refentry">sym_isInteger</a> &#8212; <span class="refentry-description">Check if a variable is constrained to be an integer</span></li>
+
+
+
+<li><a href="sym_isIterLimitReached.html" class="refentry">sym_isIterLimitReached</a> &#8212; <span class="refentry-description">To know whether the iteration limit (node limit) was reached.</span></li>
+
+
+
+<li><a href="sym_isOptimal.html" class="refentry">sym_isOptimal</a> &#8212; <span class="refentry-description">To check whether the problem was solved to optimality.</span></li>
+
+
+
+<li><a href="sym_isTargetGapAchieved.html" class="refentry">sym_isTargetGapAchieved</a> &#8212; <span class="refentry-description">To know whether the target gap was reached.</span></li>
+
+
+
+<li><a href="sym_isTimeLimitReached.html" class="refentry">sym_isTimeLimitReached</a> &#8212; <span class="refentry-description">To know whether the time limit was reached.</span></li>
+
+
+
+<li><a href="sym_loadMPS.html" class="refentry">sym_loadMPS</a> &#8212; <span class="refentry-description">This routine is used to load an instance from an MPS file.</span></li>
+
+
+
+<li><a href="sym_loadProblem.html" class="refentry">sym_loadProblem</a> &#8212; <span class="refentry-description">Load a problem into Symphony</span></li>
+
+
+
+<li><a href="sym_loadProblemBasic.html" class="refentry">sym_loadProblemBasic</a> &#8212; <span class="refentry-description">Load a problem into Symphony (basic version)</span></li>
+
+
+
+<li><a href="sym_open.html" class="refentry">sym_open</a> &#8212; <span class="refentry-description">Open the Symphony environment</span></li>
+
+
+
+<li><a href="sym_resetParams.html" class="refentry">sym_resetParams</a> &#8212; <span class="refentry-description">This routine sets all the environment variables and parameters to their default values.</span></li>
+
+
+
+<li><a href="sym_setConstrLower.html" class="refentry">sym_setConstrLower</a> &#8212; <span class="refentry-description">Set the lower bound of a constraint</span></li>
+
+
+
+<li><a href="sym_setConstrType.html" class="refentry">sym_setConstrType</a> &#8212; <span class="refentry-description">Set the type of a constraint</span></li>
+
+
+
+<li><a href="sym_setConstrUpper.html" class="refentry">sym_setConstrUpper</a> &#8212; <span class="refentry-description">Set the upper bound of a constraint</span></li>
+
+
+
+<li><a href="sym_setContinuous.html" class="refentry">sym_setContinuous</a> &#8212; <span class="refentry-description">This routine is used to set the type of a variable to be continuous.</span></li>
+
+
+
+<li><a href="sym_setDblParam.html" class="refentry">sym_setDblParam</a> &#8212; <span class="refentry-description">This routine is used to set a double type parameter.</span></li>
+
+
+
+<li><a href="sym_setIntParam.html" class="refentry">sym_setIntParam</a> &#8212; <span class="refentry-description">This routine is used to set an integer type parameter.</span></li>
+
+
+
+<li><a href="sym_setInteger.html" class="refentry">sym_setInteger</a> &#8212; <span class="refentry-description">This routine is used to set the type of a variable to be integer.</span></li>
+
+
+
+<li><a href="sym_setObjCoeff.html" class="refentry">sym_setObjCoeff</a> &#8212; <span class="refentry-description">Set coefficient of a variable in the objective</span></li>
+
+
+
+<li><a href="sym_setObjSense.html" class="refentry">sym_setObjSense</a> &#8212; <span class="refentry-description">Set the objective sense</span></li>
+
+
+
+<li><a href="sym_setPrimalBound.html" class="refentry">sym_setPrimalBound</a> &#8212; <span class="refentry-description">Set the primal bound of the problem</span></li>
+
+
+
+<li><a href="sym_setStrParam.html" class="refentry">sym_setStrParam</a> &#8212; <span class="refentry-description">This routine is used to set a string type parameter.</span></li>
+
+
+
+<li><a href="sym_setVarLower.html" class="refentry">sym_setVarLower</a> &#8212; <span class="refentry-description">Set lower bound of a variable</span></li>
+
+
+
+<li><a href="sym_setVarSoln.html" class="refentry">sym_setVarSoln</a> &#8212; <span class="refentry-description">Set a solution for the problem</span></li>
+
+
+
+<li><a href="sym_setVarUpper.html" class="refentry">sym_setVarUpper</a> &#8212; <span class="refentry-description">Set upper bound of a variable</span></li>
+
+
+
+<li><a href="sym_solve.html" class="refentry">sym_solve</a> &#8212; <span class="refentry-description">To solve the currently loaded MILP problem from scratch.</span></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="symphonymat.html">&lt;&lt; symphonymat</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_7f9be39cf912aa1e283b946d86a6bd7c.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/help/en_US/scilab_en_US_help/section_2122a46e06605359e022857633f38a15.html b/help/en_US/scilab_en_US_help/section_2122a46e06605359e022857633f38a15.html
new file mode 100644
index 0000000..5bfcab1
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/section_2122a46e06605359e022857633f38a15.html
@@ -0,0 +1,358 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; FOSSEE Optimization Toolbox</span>
+
+ <br /><br />
+ <h3 class="title-part">FOSSEE Optimization Toolbox</h3>
+<ul class="list-chapter"><li><a href="fgoalattain.html" class="refentry">fgoalattain</a> &#8212; <span class="refentry-description">Solves a multiobjective goal attainment problem</span></li>
+
+
+
+
+
+<li><a href="fminbnd.html" class="refentry">fminbnd</a> &#8212; <span class="refentry-description">Solves a multi-variable optimization problem on a bounded interval</span></li>
+
+
+
+
+
+<li><a href="fmincon.html" class="refentry">fmincon</a> &#8212; <span class="refentry-description">Solves a multi-variable constrainted optimization problem</span></li>
+
+
+
+
+
+<li><a href="fminimax.html" class="refentry">fminimax</a> &#8212; <span class="refentry-description">Solves minimax constraint problem</span></li>
+
+
+
+
+
+<li><a href="fminunc.html" class="refentry">fminunc</a> &#8212; <span class="refentry-description">Solves a multi-variable unconstrainted optimization problem</span></li>
+
+
+
+
+
+<li><a href="linprog.html" class="refentry">linprog</a> &#8212; <span class="refentry-description">Solves a linear programming problem.</span></li>
+
+
+
+
+
+<li><a href="lsqlin.html" class="refentry">lsqlin</a> &#8212; <span class="refentry-description">Solves a linear quadratic problem.</span></li>
+
+
+
+
+
+<li><a href="lsqnonlin.html" class="refentry">lsqnonlin</a> &#8212; <span class="refentry-description">Solves a non linear data fitting problems.</span></li>
+
+
+
+
+
+<li><a href="lsqnonneg.html" class="refentry">lsqnonneg</a> &#8212; <span class="refentry-description">Solves nonnegative least-squares curve fitting problems.</span></li>
+
+
+
+
+
+<li><a href="qpipopt.html" class="refentry">qpipopt</a> &#8212; <span class="refentry-description">Solves a linear quadratic problem.</span></li>
+
+
+
+
+
+<li><a href="qpipoptmat.html" class="refentry">qpipoptmat</a> &#8212; <span class="refentry-description">Solves a linear quadratic problem.</span></li>
+
+
+
+
+
+<li><a href="symphony.html" class="refentry">symphony</a> &#8212; <span class="refentry-description">Solves a mixed integer linear programming constrained optimization problem.</span></li>
+
+
+
+
+
+<li><a href="symphonymat.html" class="refentry">symphonymat</a> &#8212; <span class="refentry-description">Solves a mixed integer linear programming constrained optimization problem in intlinprog format.</span></li>
+
+<li><a href="section_c78c9c5b46dbea583df3c010a77e5758.html" class="chapter">Symphony Native Functions</a>
+<ul class="list-refentry"><li><a href="sym_addConstr.html" class="refentry">sym_addConstr</a> &#8212; <span class="refentry-description">Add a new constraint</span></li>
+
+
+
+<li><a href="sym_addVar.html" class="refentry">sym_addVar</a> &#8212; <span class="refentry-description">Add a new variable</span></li>
+
+
+
+<li><a href="sym_close.html" class="refentry">sym_close</a> &#8212; <span class="refentry-description">Close the Symphony environment</span></li>
+
+
+
+<li><a href="sym_deleteConstrs.html" class="refentry">sym_deleteConstrs</a> &#8212; <span class="refentry-description">This routine is used to delete rows from the original constraint matrix.</span></li>
+
+
+
+<li><a href="sym_deleteVars.html" class="refentry">sym_deleteVars</a> &#8212; <span class="refentry-description">This routine is used to delete columns from the original problem description.</span></li>
+
+
+
+<li><a href="sym_getConstrActivity.html" class="refentry">sym_getConstrActivity</a> &#8212; <span class="refentry-description">Get the activity of the constraints in the solution</span></li>
+
+
+
+<li><a href="sym_getConstrLower.html" class="refentry">sym_getConstrLower</a> &#8212; <span class="refentry-description">To get the lower bounds of the constraints.</span></li>
+
+
+
+<li><a href="sym_getConstrRange.html" class="refentry">sym_getConstrRange</a> &#8212; <span class="refentry-description">To to get the constraint ranges.</span></li>
+
+
+
+<li><a href="sym_getConstrSense.html" class="refentry">sym_getConstrSense</a> &#8212; <span class="refentry-description">To get the row senses.</span></li>
+
+
+
+<li><a href="sym_getConstrUpper.html" class="refentry">sym_getConstrUpper</a> &#8212; <span class="refentry-description">To get the upper bounds of the constraints.</span></li>
+
+
+
+<li><a href="sym_getDblParam.html" class="refentry">sym_getDblParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of a double type parameter.</span></li>
+
+
+
+<li><a href="sym_getInfinity.html" class="refentry">sym_getInfinity</a> &#8212; <span class="refentry-description">Get Symphony&#0039;s infinity value</span></li>
+
+
+
+<li><a href="sym_getIntParam.html" class="refentry">sym_getIntParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of an integer type parameter.</span></li>
+
+
+
+<li><a href="sym_getIterCount.html" class="refentry">sym_getIterCount</a> &#8212; <span class="refentry-description">To get the number of the analyzed nodes of the branching tree after solving the problem.</span></li>
+
+
+
+<li><a href="sym_getMatrix.html" class="refentry">sym_getMatrix</a> &#8212; <span class="refentry-description">To get the constraint matrix.</span></li>
+
+
+
+<li><a href="sym_getNumConstr.html" class="refentry">sym_getNumConstr</a> &#8212; <span class="refentry-description">To get the number of the constraints of the current problem.</span></li>
+
+
+
+<li><a href="sym_getNumElements.html" class="refentry">sym_getNumElements</a> &#8212; <span class="refentry-description">To get the number of non-zero entries of the constraint matrix of the current problem.</span></li>
+
+
+
+<li><a href="sym_getNumVar.html" class="refentry">sym_getNumVar</a> &#8212; <span class="refentry-description">To get the number of the variables of the current problem.</span></li>
+
+
+
+<li><a href="sym_getObjCoeff.html" class="refentry">sym_getObjCoeff</a> &#8212; <span class="refentry-description">To get the objective vector.</span></li>
+
+
+
+<li><a href="sym_getObjSense.html" class="refentry">sym_getObjSense</a> &#8212; <span class="refentry-description">Get the objective sense</span></li>
+
+
+
+<li><a href="sym_getObjVal.html" class="refentry">sym_getObjVal</a> &#8212; <span class="refentry-description">Get the optimized objective value</span></li>
+
+
+
+<li><a href="sym_getPrimalBound.html" class="refentry">sym_getPrimalBound</a> &#8212; <span class="refentry-description">Get the primal bound of the problem</span></li>
+
+
+
+<li><a href="sym_getRhs.html" class="refentry">sym_getRhs</a> &#8212; <span class="refentry-description">To to get the right hand side vector(column vector).</span></li>
+
+
+
+<li><a href="sym_getStatus.html" class="refentry">sym_getStatus</a> &#8212; <span class="refentry-description">To get status of the problem solver.</span></li>
+
+
+
+<li><a href="sym_getStrParam.html" class="refentry">sym_getStrParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of a string type parameter.</span></li>
+
+
+
+<li><a href="sym_getVarLower.html" class="refentry">sym_getVarLower</a> &#8212; <span class="refentry-description">To get the lower bounds of the variables.</span></li>
+
+
+
+<li><a href="sym_getVarSoln.html" class="refentry">sym_getVarSoln</a> &#8212; <span class="refentry-description">Get the solution for the problem</span></li>
+
+
+
+<li><a href="sym_getVarUpper.html" class="refentry">sym_getVarUpper</a> &#8212; <span class="refentry-description">To get the upper bounds of the variables.</span></li>
+
+
+
+<li><a href="sym_isAbandoned.html" class="refentry">sym_isAbandoned</a> &#8212; <span class="refentry-description">To check whether the problem was abandoned for some reason.</span></li>
+
+
+
+<li><a href="sym_isBinary.html" class="refentry">sym_isBinary</a> &#8212; <span class="refentry-description">Check if a variable is constrained to be binary</span></li>
+
+
+
+<li><a href="sym_isContinuous.html" class="refentry">sym_isContinuous</a> &#8212; <span class="refentry-description">Check if a variable is continuous</span></li>
+
+
+
+<li><a href="sym_isEnvActive.html" class="refentry">sym_isEnvActive</a> &#8212; <span class="refentry-description">Check if Symphony environment is active</span></li>
+
+
+
+<li><a href="sym_isInfeasible.html" class="refentry">sym_isInfeasible</a> &#8212; <span class="refentry-description">To check whether the problem was proven to be infeasible.</span></li>
+
+
+
+<li><a href="sym_isInteger.html" class="refentry">sym_isInteger</a> &#8212; <span class="refentry-description">Check if a variable is constrained to be an integer</span></li>
+
+
+
+<li><a href="sym_isIterLimitReached.html" class="refentry">sym_isIterLimitReached</a> &#8212; <span class="refentry-description">To know whether the iteration limit (node limit) was reached.</span></li>
+
+
+
+<li><a href="sym_isOptimal.html" class="refentry">sym_isOptimal</a> &#8212; <span class="refentry-description">To check whether the problem was solved to optimality.</span></li>
+
+
+
+<li><a href="sym_isTargetGapAchieved.html" class="refentry">sym_isTargetGapAchieved</a> &#8212; <span class="refentry-description">To know whether the target gap was reached.</span></li>
+
+
+
+<li><a href="sym_isTimeLimitReached.html" class="refentry">sym_isTimeLimitReached</a> &#8212; <span class="refentry-description">To know whether the time limit was reached.</span></li>
+
+
+
+<li><a href="sym_loadMPS.html" class="refentry">sym_loadMPS</a> &#8212; <span class="refentry-description">This routine is used to load an instance from an MPS file.</span></li>
+
+
+
+<li><a href="sym_loadProblem.html" class="refentry">sym_loadProblem</a> &#8212; <span class="refentry-description">Load a problem into Symphony</span></li>
+
+
+
+<li><a href="sym_loadProblemBasic.html" class="refentry">sym_loadProblemBasic</a> &#8212; <span class="refentry-description">Load a problem into Symphony (basic version)</span></li>
+
+
+
+<li><a href="sym_open.html" class="refentry">sym_open</a> &#8212; <span class="refentry-description">Open the Symphony environment</span></li>
+
+
+
+<li><a href="sym_resetParams.html" class="refentry">sym_resetParams</a> &#8212; <span class="refentry-description">This routine sets all the environment variables and parameters to their default values.</span></li>
+
+
+
+<li><a href="sym_setConstrLower.html" class="refentry">sym_setConstrLower</a> &#8212; <span class="refentry-description">Set the lower bound of a constraint</span></li>
+
+
+
+<li><a href="sym_setConstrType.html" class="refentry">sym_setConstrType</a> &#8212; <span class="refentry-description">Set the type of a constraint</span></li>
+
+
+
+<li><a href="sym_setConstrUpper.html" class="refentry">sym_setConstrUpper</a> &#8212; <span class="refentry-description">Set the upper bound of a constraint</span></li>
+
+
+
+<li><a href="sym_setContinuous.html" class="refentry">sym_setContinuous</a> &#8212; <span class="refentry-description">This routine is used to set the type of a variable to be continuous.</span></li>
+
+
+
+<li><a href="sym_setDblParam.html" class="refentry">sym_setDblParam</a> &#8212; <span class="refentry-description">This routine is used to set a double type parameter.</span></li>
+
+
+
+<li><a href="sym_setIntParam.html" class="refentry">sym_setIntParam</a> &#8212; <span class="refentry-description">This routine is used to set an integer type parameter.</span></li>
+
+
+
+<li><a href="sym_setInteger.html" class="refentry">sym_setInteger</a> &#8212; <span class="refentry-description">This routine is used to set the type of a variable to be integer.</span></li>
+
+
+
+<li><a href="sym_setObjCoeff.html" class="refentry">sym_setObjCoeff</a> &#8212; <span class="refentry-description">Set coefficient of a variable in the objective</span></li>
+
+
+
+<li><a href="sym_setObjSense.html" class="refentry">sym_setObjSense</a> &#8212; <span class="refentry-description">Set the objective sense</span></li>
+
+
+
+<li><a href="sym_setPrimalBound.html" class="refentry">sym_setPrimalBound</a> &#8212; <span class="refentry-description">Set the primal bound of the problem</span></li>
+
+
+
+<li><a href="sym_setStrParam.html" class="refentry">sym_setStrParam</a> &#8212; <span class="refentry-description">This routine is used to set a string type parameter.</span></li>
+
+
+
+<li><a href="sym_setVarLower.html" class="refentry">sym_setVarLower</a> &#8212; <span class="refentry-description">Set lower bound of a variable</span></li>
+
+
+
+<li><a href="sym_setVarSoln.html" class="refentry">sym_setVarSoln</a> &#8212; <span class="refentry-description">Set a solution for the problem</span></li>
+
+
+
+<li><a href="sym_setVarUpper.html" class="refentry">sym_setVarUpper</a> &#8212; <span class="refentry-description">Set upper bound of a variable</span></li>
+
+
+
+<li><a href="sym_solve.html" class="refentry">sym_solve</a> &#8212; <span class="refentry-description">To solve the currently loaded MILP problem from scratch.</span></li></ul></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/help/en_US/scilab_en_US_help/section_2f30ec7805b02b8760d8add3187208be.html b/help/en_US/scilab_en_US_help/section_2f30ec7805b02b8760d8add3187208be.html
new file mode 100644
index 0000000..085dbf7
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/section_2f30ec7805b02b8760d8add3187208be.html
@@ -0,0 +1,85 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; FOSSEE Optimization Toolbox</span>
+
+ <br /><br />
+ <h3 class="title-part">FOSSEE Optimization Toolbox</h3>
+<ul class="list-chapter"><li><a href="cbcintlinprog.html" class="refentry">cbcintlinprog</a> &#8212; <span class="refentry-description">Solves a mixed integer linear programming constrained optimization problem in intlinprog format.</span></li>
+
+
+
+
+
+<li><a href="intfminbnd.html" class="refentry">intfminbnd</a> &#8212; <span class="refentry-description">Solves a multi-variable optimization problem on a bounded interval</span></li>
+
+
+
+
+
+<li><a href="intfmincon.html" class="refentry">intfmincon</a> &#8212; <span class="refentry-description">Solves a constrainted multi-variable mixed integer non linear programming problem</span></li>
+
+
+
+
+
+<li><a href="intfminimax.html" class="refentry">intfminimax</a> &#8212; <span class="refentry-description">Solves minimax constraint problem</span></li>
+
+
+
+
+
+<li><a href="intfminunc.html" class="refentry">intfminunc</a> &#8212; <span class="refentry-description">Solves an unconstrainted multi-variable mixed integer non linear programming optimization problem</span></li>
+
+
+
+
+
+<li><a href="intqpipopt.html" class="refentry">intqpipopt</a> &#8212; <span class="refentry-description">Solves a linear quadratic problem.</span></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/help/en_US/scilab_en_US_help/section_44e1f57c5225357b5fe53cb5fad967e9.html b/help/en_US/scilab_en_US_help/section_44e1f57c5225357b5fe53cb5fad967e9.html
new file mode 100644
index 0000000..2af72b0
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/section_44e1f57c5225357b5fe53cb5fad967e9.html
@@ -0,0 +1,394 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; FOSSEE Optimization Toolbox</span>
+
+ <br /><br />
+ <h3 class="title-part">FOSSEE Optimization Toolbox</h3>
+<ul class="list-chapter"><li><a href="cbcintlinprog.html" class="refentry">cbcintlinprog</a> &#8212; <span class="refentry-description">Solves a mixed integer linear programming constrained optimization problem in intlinprog format.</span></li>
+
+
+
+
+
+<li><a href="fgoalattain.html" class="refentry">fgoalattain</a> &#8212; <span class="refentry-description">Solves a multiobjective goal attainment problem</span></li>
+
+
+
+
+
+<li><a href="fminbnd.html" class="refentry">fminbnd</a> &#8212; <span class="refentry-description">Solves a multi-variable optimization problem on a bounded interval</span></li>
+
+
+
+
+
+<li><a href="fmincon.html" class="refentry">fmincon</a> &#8212; <span class="refentry-description">Solves a multi-variable constrainted optimization problem.</span></li>
+
+
+
+
+
+<li><a href="fminimax.html" class="refentry">fminimax</a> &#8212; <span class="refentry-description">Solves minimax constraint problem</span></li>
+
+
+
+
+
+<li><a href="fminunc.html" class="refentry">fminunc</a> &#8212; <span class="refentry-description">Solves a multi-variable unconstrainted optimization problem</span></li>
+
+
+
+
+
+<li><a href="intfminbnd.html" class="refentry">intfminbnd</a> &#8212; <span class="refentry-description">Solves a multi-variable optimization problem on a bounded interval</span></li>
+
+
+
+
+
+<li><a href="intfmincon.html" class="refentry">intfmincon</a> &#8212; <span class="refentry-description">Solves a constrainted multi-variable mixed integer non linear programming problem</span></li>
+
+
+
+
+
+<li><a href="intfminimax.html" class="refentry">intfminimax</a> &#8212; <span class="refentry-description">Solves minimax constraint problem</span></li>
+
+
+
+
+
+<li><a href="intfminunc.html" class="refentry">intfminunc</a> &#8212; <span class="refentry-description">Solves an unconstrainted multi-variable mixed integer non linear programming optimization problem</span></li>
+
+
+
+
+
+<li><a href="intqpipopt.html" class="refentry">intqpipopt</a> &#8212; <span class="refentry-description">Solves a linear quadratic problem.</span></li>
+
+
+
+
+
+<li><a href="linprog.html" class="refentry">linprog</a> &#8212; <span class="refentry-description">Solves a linear programming problem.</span></li>
+
+
+
+
+
+<li><a href="lsqlin.html" class="refentry">lsqlin</a> &#8212; <span class="refentry-description">Solves a linear quadratic problem.</span></li>
+
+
+
+
+
+<li><a href="lsqnonlin.html" class="refentry">lsqnonlin</a> &#8212; <span class="refentry-description">Solves a non linear data fitting problems.</span></li>
+
+
+
+
+
+<li><a href="lsqnonneg.html" class="refentry">lsqnonneg</a> &#8212; <span class="refentry-description">Solves nonnegative least-squares curve fitting problems.</span></li>
+
+
+
+
+
+<li><a href="qpipopt.html" class="refentry">qpipopt</a> &#8212; <span class="refentry-description">Solves a linear quadratic problem.</span></li>
+
+
+
+
+
+<li><a href="qpipoptmat.html" class="refentry">qpipoptmat</a> &#8212; <span class="refentry-description">Solves a linear quadratic problem.</span></li>
+
+
+
+
+
+<li><a href="symphony.html" class="refentry">symphony</a> &#8212; <span class="refentry-description">Solves a mixed integer linear programming constrained optimization problem.</span></li>
+
+
+
+
+
+<li><a href="symphonymat.html" class="refentry">symphonymat</a> &#8212; <span class="refentry-description">Solves a mixed integer linear programming constrained optimization problem in intlinprog format.</span></li>
+
+<li><a href="section_5fc7ef02a133896efbd190355314d3fc.html" class="chapter">Symphony Native Functions</a>
+<ul class="list-refentry"><li><a href="sym_addConstr.html" class="refentry">sym_addConstr</a> &#8212; <span class="refentry-description">Add a new constraint</span></li>
+
+
+
+<li><a href="sym_addVar.html" class="refentry">sym_addVar</a> &#8212; <span class="refentry-description">Add a new variable</span></li>
+
+
+
+<li><a href="sym_close.html" class="refentry">sym_close</a> &#8212; <span class="refentry-description">Close the Symphony environment</span></li>
+
+
+
+<li><a href="sym_deleteConstrs.html" class="refentry">sym_deleteConstrs</a> &#8212; <span class="refentry-description">This routine is used to delete rows from the original constraint matrix.</span></li>
+
+
+
+<li><a href="sym_deleteVars.html" class="refentry">sym_deleteVars</a> &#8212; <span class="refentry-description">This routine is used to delete columns from the original problem description.</span></li>
+
+
+
+<li><a href="sym_getConstrActivity.html" class="refentry">sym_getConstrActivity</a> &#8212; <span class="refentry-description">Get the activity of the constraints in the solution</span></li>
+
+
+
+<li><a href="sym_getConstrLower.html" class="refentry">sym_getConstrLower</a> &#8212; <span class="refentry-description">To get the lower bounds of the constraints.</span></li>
+
+
+
+<li><a href="sym_getConstrRange.html" class="refentry">sym_getConstrRange</a> &#8212; <span class="refentry-description">To to get the constraint ranges.</span></li>
+
+
+
+<li><a href="sym_getConstrSense.html" class="refentry">sym_getConstrSense</a> &#8212; <span class="refentry-description">To get the row senses.</span></li>
+
+
+
+<li><a href="sym_getConstrUpper.html" class="refentry">sym_getConstrUpper</a> &#8212; <span class="refentry-description">To get the upper bounds of the constraints.</span></li>
+
+
+
+<li><a href="sym_getDblParam.html" class="refentry">sym_getDblParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of a double type parameter.</span></li>
+
+
+
+<li><a href="sym_getInfinity.html" class="refentry">sym_getInfinity</a> &#8212; <span class="refentry-description">Get Symphony&#0039;s infinity value</span></li>
+
+
+
+<li><a href="sym_getIntParam.html" class="refentry">sym_getIntParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of an integer type parameter.</span></li>
+
+
+
+<li><a href="sym_getIterCount.html" class="refentry">sym_getIterCount</a> &#8212; <span class="refentry-description">To get the number of the analyzed nodes of the branching tree after solving the problem.</span></li>
+
+
+
+<li><a href="sym_getMatrix.html" class="refentry">sym_getMatrix</a> &#8212; <span class="refentry-description">To get the constraint matrix.</span></li>
+
+
+
+<li><a href="sym_getNumConstr.html" class="refentry">sym_getNumConstr</a> &#8212; <span class="refentry-description">To get the number of the constraints of the current problem.</span></li>
+
+
+
+<li><a href="sym_getNumElements.html" class="refentry">sym_getNumElements</a> &#8212; <span class="refentry-description">To get the number of non-zero entries of the constraint matrix of the current problem.</span></li>
+
+
+
+<li><a href="sym_getNumVar.html" class="refentry">sym_getNumVar</a> &#8212; <span class="refentry-description">To get the number of the variables of the current problem.</span></li>
+
+
+
+<li><a href="sym_getObjCoeff.html" class="refentry">sym_getObjCoeff</a> &#8212; <span class="refentry-description">To get the objective vector.</span></li>
+
+
+
+<li><a href="sym_getObjSense.html" class="refentry">sym_getObjSense</a> &#8212; <span class="refentry-description">Get the objective sense</span></li>
+
+
+
+<li><a href="sym_getObjVal.html" class="refentry">sym_getObjVal</a> &#8212; <span class="refentry-description">Get the optimized objective value</span></li>
+
+
+
+<li><a href="sym_getPrimalBound.html" class="refentry">sym_getPrimalBound</a> &#8212; <span class="refentry-description">Get the primal bound of the problem</span></li>
+
+
+
+<li><a href="sym_getRhs.html" class="refentry">sym_getRhs</a> &#8212; <span class="refentry-description">To to get the right hand side vector(column vector).</span></li>
+
+
+
+<li><a href="sym_getStatus.html" class="refentry">sym_getStatus</a> &#8212; <span class="refentry-description">To get status of the problem solver.</span></li>
+
+
+
+<li><a href="sym_getStrParam.html" class="refentry">sym_getStrParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of a string type parameter.</span></li>
+
+
+
+<li><a href="sym_getVarLower.html" class="refentry">sym_getVarLower</a> &#8212; <span class="refentry-description">To get the lower bounds of the variables.</span></li>
+
+
+
+<li><a href="sym_getVarSoln.html" class="refentry">sym_getVarSoln</a> &#8212; <span class="refentry-description">Get the solution for the problem</span></li>
+
+
+
+<li><a href="sym_getVarUpper.html" class="refentry">sym_getVarUpper</a> &#8212; <span class="refentry-description">To get the upper bounds of the variables.</span></li>
+
+
+
+<li><a href="sym_isAbandoned.html" class="refentry">sym_isAbandoned</a> &#8212; <span class="refentry-description">To check whether the problem was abandoned for some reason.</span></li>
+
+
+
+<li><a href="sym_isBinary.html" class="refentry">sym_isBinary</a> &#8212; <span class="refentry-description">Check if a variable is constrained to be binary</span></li>
+
+
+
+<li><a href="sym_isContinuous.html" class="refentry">sym_isContinuous</a> &#8212; <span class="refentry-description">Check if a variable is continuous</span></li>
+
+
+
+<li><a href="sym_isEnvActive.html" class="refentry">sym_isEnvActive</a> &#8212; <span class="refentry-description">Check if Symphony environment is active</span></li>
+
+
+
+<li><a href="sym_isInfeasible.html" class="refentry">sym_isInfeasible</a> &#8212; <span class="refentry-description">To check whether the problem was proven to be infeasible.</span></li>
+
+
+
+<li><a href="sym_isInteger.html" class="refentry">sym_isInteger</a> &#8212; <span class="refentry-description">Check if a variable is constrained to be an integer</span></li>
+
+
+
+<li><a href="sym_isIterLimitReached.html" class="refentry">sym_isIterLimitReached</a> &#8212; <span class="refentry-description">To know whether the iteration limit (node limit) was reached.</span></li>
+
+
+
+<li><a href="sym_isOptimal.html" class="refentry">sym_isOptimal</a> &#8212; <span class="refentry-description">To check whether the problem was solved to optimality.</span></li>
+
+
+
+<li><a href="sym_isTargetGapAchieved.html" class="refentry">sym_isTargetGapAchieved</a> &#8212; <span class="refentry-description">To know whether the target gap was reached.</span></li>
+
+
+
+<li><a href="sym_isTimeLimitReached.html" class="refentry">sym_isTimeLimitReached</a> &#8212; <span class="refentry-description">To know whether the time limit was reached.</span></li>
+
+
+
+<li><a href="sym_loadMPS.html" class="refentry">sym_loadMPS</a> &#8212; <span class="refentry-description">This routine is used to load an instance from an MPS file.</span></li>
+
+
+
+<li><a href="sym_loadProblem.html" class="refentry">sym_loadProblem</a> &#8212; <span class="refentry-description">Load a problem into Symphony</span></li>
+
+
+
+<li><a href="sym_loadProblemBasic.html" class="refentry">sym_loadProblemBasic</a> &#8212; <span class="refentry-description">Load a problem into Symphony (basic version)</span></li>
+
+
+
+<li><a href="sym_open.html" class="refentry">sym_open</a> &#8212; <span class="refentry-description">Open the Symphony environment</span></li>
+
+
+
+<li><a href="sym_resetParams.html" class="refentry">sym_resetParams</a> &#8212; <span class="refentry-description">This routine sets all the environment variables and parameters to their default values.</span></li>
+
+
+
+<li><a href="sym_setConstrLower.html" class="refentry">sym_setConstrLower</a> &#8212; <span class="refentry-description">Set the lower bound of a constraint</span></li>
+
+
+
+<li><a href="sym_setConstrType.html" class="refentry">sym_setConstrType</a> &#8212; <span class="refentry-description">Set the type of a constraint</span></li>
+
+
+
+<li><a href="sym_setConstrUpper.html" class="refentry">sym_setConstrUpper</a> &#8212; <span class="refentry-description">Set the upper bound of a constraint</span></li>
+
+
+
+<li><a href="sym_setContinuous.html" class="refentry">sym_setContinuous</a> &#8212; <span class="refentry-description">This routine is used to set the type of a variable to be continuous.</span></li>
+
+
+
+<li><a href="sym_setDblParam.html" class="refentry">sym_setDblParam</a> &#8212; <span class="refentry-description">This routine is used to set a double type parameter.</span></li>
+
+
+
+<li><a href="sym_setIntParam.html" class="refentry">sym_setIntParam</a> &#8212; <span class="refentry-description">This routine is used to set an integer type parameter.</span></li>
+
+
+
+<li><a href="sym_setInteger.html" class="refentry">sym_setInteger</a> &#8212; <span class="refentry-description">This routine is used to set the type of a variable to be integer.</span></li>
+
+
+
+<li><a href="sym_setObjCoeff.html" class="refentry">sym_setObjCoeff</a> &#8212; <span class="refentry-description">Set coefficient of a variable in the objective</span></li>
+
+
+
+<li><a href="sym_setObjSense.html" class="refentry">sym_setObjSense</a> &#8212; <span class="refentry-description">Set the objective sense</span></li>
+
+
+
+<li><a href="sym_setPrimalBound.html" class="refentry">sym_setPrimalBound</a> &#8212; <span class="refentry-description">Set the primal bound of the problem</span></li>
+
+
+
+<li><a href="sym_setStrParam.html" class="refentry">sym_setStrParam</a> &#8212; <span class="refentry-description">This routine is used to set a string type parameter.</span></li>
+
+
+
+<li><a href="sym_setVarLower.html" class="refentry">sym_setVarLower</a> &#8212; <span class="refentry-description">Set lower bound of a variable</span></li>
+
+
+
+<li><a href="sym_setVarSoln.html" class="refentry">sym_setVarSoln</a> &#8212; <span class="refentry-description">Set a solution for the problem</span></li>
+
+
+
+<li><a href="sym_setVarUpper.html" class="refentry">sym_setVarUpper</a> &#8212; <span class="refentry-description">Set upper bound of a variable</span></li>
+
+
+
+<li><a href="sym_solve.html" class="refentry">sym_solve</a> &#8212; <span class="refentry-description">To solve the currently loaded MILP problem from scratch.</span></li></ul></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/help/en_US/scilab_en_US_help/section_5216548269879268a26b5bc137b91f5d.html b/help/en_US/scilab_en_US_help/section_5216548269879268a26b5bc137b91f5d.html
new file mode 100644
index 0000000..085dbf7
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/section_5216548269879268a26b5bc137b91f5d.html
@@ -0,0 +1,85 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; FOSSEE Optimization Toolbox</span>
+
+ <br /><br />
+ <h3 class="title-part">FOSSEE Optimization Toolbox</h3>
+<ul class="list-chapter"><li><a href="cbcintlinprog.html" class="refentry">cbcintlinprog</a> &#8212; <span class="refentry-description">Solves a mixed integer linear programming constrained optimization problem in intlinprog format.</span></li>
+
+
+
+
+
+<li><a href="intfminbnd.html" class="refentry">intfminbnd</a> &#8212; <span class="refentry-description">Solves a multi-variable optimization problem on a bounded interval</span></li>
+
+
+
+
+
+<li><a href="intfmincon.html" class="refentry">intfmincon</a> &#8212; <span class="refentry-description">Solves a constrainted multi-variable mixed integer non linear programming problem</span></li>
+
+
+
+
+
+<li><a href="intfminimax.html" class="refentry">intfminimax</a> &#8212; <span class="refentry-description">Solves minimax constraint problem</span></li>
+
+
+
+
+
+<li><a href="intfminunc.html" class="refentry">intfminunc</a> &#8212; <span class="refentry-description">Solves an unconstrainted multi-variable mixed integer non linear programming optimization problem</span></li>
+
+
+
+
+
+<li><a href="intqpipopt.html" class="refentry">intqpipopt</a> &#8212; <span class="refentry-description">Solves a linear quadratic problem.</span></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/help/en_US/scilab_en_US_help/section_5fc7ef02a133896efbd190355314d3fc.html b/help/en_US/scilab_en_US_help/section_5fc7ef02a133896efbd190355314d3fc.html
new file mode 100644
index 0000000..2416e2e
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/section_5fc7ef02a133896efbd190355314d3fc.html
@@ -0,0 +1,285 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="symphonymat.html">&lt;&lt; symphonymat</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; Symphony Native Functions</span>
+
+ <br /><br />
+ <h3 class="title-chapter">Symphony Native Functions</h3>
+<ul class="list-refentry"><li><a href="sym_addConstr.html" class="refentry">sym_addConstr</a> &#8212; <span class="refentry-description">Add a new constraint</span></li>
+
+
+
+<li><a href="sym_addVar.html" class="refentry">sym_addVar</a> &#8212; <span class="refentry-description">Add a new variable</span></li>
+
+
+
+<li><a href="sym_close.html" class="refentry">sym_close</a> &#8212; <span class="refentry-description">Close the Symphony environment</span></li>
+
+
+
+<li><a href="sym_deleteConstrs.html" class="refentry">sym_deleteConstrs</a> &#8212; <span class="refentry-description">This routine is used to delete rows from the original constraint matrix.</span></li>
+
+
+
+<li><a href="sym_deleteVars.html" class="refentry">sym_deleteVars</a> &#8212; <span class="refentry-description">This routine is used to delete columns from the original problem description.</span></li>
+
+
+
+<li><a href="sym_getConstrActivity.html" class="refentry">sym_getConstrActivity</a> &#8212; <span class="refentry-description">Get the activity of the constraints in the solution</span></li>
+
+
+
+<li><a href="sym_getConstrLower.html" class="refentry">sym_getConstrLower</a> &#8212; <span class="refentry-description">To get the lower bounds of the constraints.</span></li>
+
+
+
+<li><a href="sym_getConstrRange.html" class="refentry">sym_getConstrRange</a> &#8212; <span class="refentry-description">To to get the constraint ranges.</span></li>
+
+
+
+<li><a href="sym_getConstrSense.html" class="refentry">sym_getConstrSense</a> &#8212; <span class="refentry-description">To get the row senses.</span></li>
+
+
+
+<li><a href="sym_getConstrUpper.html" class="refentry">sym_getConstrUpper</a> &#8212; <span class="refentry-description">To get the upper bounds of the constraints.</span></li>
+
+
+
+<li><a href="sym_getDblParam.html" class="refentry">sym_getDblParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of a double type parameter.</span></li>
+
+
+
+<li><a href="sym_getInfinity.html" class="refentry">sym_getInfinity</a> &#8212; <span class="refentry-description">Get Symphony&#0039;s infinity value</span></li>
+
+
+
+<li><a href="sym_getIntParam.html" class="refentry">sym_getIntParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of an integer type parameter.</span></li>
+
+
+
+<li><a href="sym_getIterCount.html" class="refentry">sym_getIterCount</a> &#8212; <span class="refentry-description">To get the number of the analyzed nodes of the branching tree after solving the problem.</span></li>
+
+
+
+<li><a href="sym_getMatrix.html" class="refentry">sym_getMatrix</a> &#8212; <span class="refentry-description">To get the constraint matrix.</span></li>
+
+
+
+<li><a href="sym_getNumConstr.html" class="refentry">sym_getNumConstr</a> &#8212; <span class="refentry-description">To get the number of the constraints of the current problem.</span></li>
+
+
+
+<li><a href="sym_getNumElements.html" class="refentry">sym_getNumElements</a> &#8212; <span class="refentry-description">To get the number of non-zero entries of the constraint matrix of the current problem.</span></li>
+
+
+
+<li><a href="sym_getNumVar.html" class="refentry">sym_getNumVar</a> &#8212; <span class="refentry-description">To get the number of the variables of the current problem.</span></li>
+
+
+
+<li><a href="sym_getObjCoeff.html" class="refentry">sym_getObjCoeff</a> &#8212; <span class="refentry-description">To get the objective vector.</span></li>
+
+
+
+<li><a href="sym_getObjSense.html" class="refentry">sym_getObjSense</a> &#8212; <span class="refentry-description">Get the objective sense</span></li>
+
+
+
+<li><a href="sym_getObjVal.html" class="refentry">sym_getObjVal</a> &#8212; <span class="refentry-description">Get the optimized objective value</span></li>
+
+
+
+<li><a href="sym_getPrimalBound.html" class="refentry">sym_getPrimalBound</a> &#8212; <span class="refentry-description">Get the primal bound of the problem</span></li>
+
+
+
+<li><a href="sym_getRhs.html" class="refentry">sym_getRhs</a> &#8212; <span class="refentry-description">To to get the right hand side vector(column vector).</span></li>
+
+
+
+<li><a href="sym_getStatus.html" class="refentry">sym_getStatus</a> &#8212; <span class="refentry-description">To get status of the problem solver.</span></li>
+
+
+
+<li><a href="sym_getStrParam.html" class="refentry">sym_getStrParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of a string type parameter.</span></li>
+
+
+
+<li><a href="sym_getVarLower.html" class="refentry">sym_getVarLower</a> &#8212; <span class="refentry-description">To get the lower bounds of the variables.</span></li>
+
+
+
+<li><a href="sym_getVarSoln.html" class="refentry">sym_getVarSoln</a> &#8212; <span class="refentry-description">Get the solution for the problem</span></li>
+
+
+
+<li><a href="sym_getVarUpper.html" class="refentry">sym_getVarUpper</a> &#8212; <span class="refentry-description">To get the upper bounds of the variables.</span></li>
+
+
+
+<li><a href="sym_isAbandoned.html" class="refentry">sym_isAbandoned</a> &#8212; <span class="refentry-description">To check whether the problem was abandoned for some reason.</span></li>
+
+
+
+<li><a href="sym_isBinary.html" class="refentry">sym_isBinary</a> &#8212; <span class="refentry-description">Check if a variable is constrained to be binary</span></li>
+
+
+
+<li><a href="sym_isContinuous.html" class="refentry">sym_isContinuous</a> &#8212; <span class="refentry-description">Check if a variable is continuous</span></li>
+
+
+
+<li><a href="sym_isEnvActive.html" class="refentry">sym_isEnvActive</a> &#8212; <span class="refentry-description">Check if Symphony environment is active</span></li>
+
+
+
+<li><a href="sym_isInfeasible.html" class="refentry">sym_isInfeasible</a> &#8212; <span class="refentry-description">To check whether the problem was proven to be infeasible.</span></li>
+
+
+
+<li><a href="sym_isInteger.html" class="refentry">sym_isInteger</a> &#8212; <span class="refentry-description">Check if a variable is constrained to be an integer</span></li>
+
+
+
+<li><a href="sym_isIterLimitReached.html" class="refentry">sym_isIterLimitReached</a> &#8212; <span class="refentry-description">To know whether the iteration limit (node limit) was reached.</span></li>
+
+
+
+<li><a href="sym_isOptimal.html" class="refentry">sym_isOptimal</a> &#8212; <span class="refentry-description">To check whether the problem was solved to optimality.</span></li>
+
+
+
+<li><a href="sym_isTargetGapAchieved.html" class="refentry">sym_isTargetGapAchieved</a> &#8212; <span class="refentry-description">To know whether the target gap was reached.</span></li>
+
+
+
+<li><a href="sym_isTimeLimitReached.html" class="refentry">sym_isTimeLimitReached</a> &#8212; <span class="refentry-description">To know whether the time limit was reached.</span></li>
+
+
+
+<li><a href="sym_loadMPS.html" class="refentry">sym_loadMPS</a> &#8212; <span class="refentry-description">This routine is used to load an instance from an MPS file.</span></li>
+
+
+
+<li><a href="sym_loadProblem.html" class="refentry">sym_loadProblem</a> &#8212; <span class="refentry-description">Load a problem into Symphony</span></li>
+
+
+
+<li><a href="sym_loadProblemBasic.html" class="refentry">sym_loadProblemBasic</a> &#8212; <span class="refentry-description">Load a problem into Symphony (basic version)</span></li>
+
+
+
+<li><a href="sym_open.html" class="refentry">sym_open</a> &#8212; <span class="refentry-description">Open the Symphony environment</span></li>
+
+
+
+<li><a href="sym_resetParams.html" class="refentry">sym_resetParams</a> &#8212; <span class="refentry-description">This routine sets all the environment variables and parameters to their default values.</span></li>
+
+
+
+<li><a href="sym_setConstrLower.html" class="refentry">sym_setConstrLower</a> &#8212; <span class="refentry-description">Set the lower bound of a constraint</span></li>
+
+
+
+<li><a href="sym_setConstrType.html" class="refentry">sym_setConstrType</a> &#8212; <span class="refentry-description">Set the type of a constraint</span></li>
+
+
+
+<li><a href="sym_setConstrUpper.html" class="refentry">sym_setConstrUpper</a> &#8212; <span class="refentry-description">Set the upper bound of a constraint</span></li>
+
+
+
+<li><a href="sym_setContinuous.html" class="refentry">sym_setContinuous</a> &#8212; <span class="refentry-description">This routine is used to set the type of a variable to be continuous.</span></li>
+
+
+
+<li><a href="sym_setDblParam.html" class="refentry">sym_setDblParam</a> &#8212; <span class="refentry-description">This routine is used to set a double type parameter.</span></li>
+
+
+
+<li><a href="sym_setIntParam.html" class="refentry">sym_setIntParam</a> &#8212; <span class="refentry-description">This routine is used to set an integer type parameter.</span></li>
+
+
+
+<li><a href="sym_setInteger.html" class="refentry">sym_setInteger</a> &#8212; <span class="refentry-description">This routine is used to set the type of a variable to be integer.</span></li>
+
+
+
+<li><a href="sym_setObjCoeff.html" class="refentry">sym_setObjCoeff</a> &#8212; <span class="refentry-description">Set coefficient of a variable in the objective</span></li>
+
+
+
+<li><a href="sym_setObjSense.html" class="refentry">sym_setObjSense</a> &#8212; <span class="refentry-description">Set the objective sense</span></li>
+
+
+
+<li><a href="sym_setPrimalBound.html" class="refentry">sym_setPrimalBound</a> &#8212; <span class="refentry-description">Set the primal bound of the problem</span></li>
+
+
+
+<li><a href="sym_setStrParam.html" class="refentry">sym_setStrParam</a> &#8212; <span class="refentry-description">This routine is used to set a string type parameter.</span></li>
+
+
+
+<li><a href="sym_setVarLower.html" class="refentry">sym_setVarLower</a> &#8212; <span class="refentry-description">Set lower bound of a variable</span></li>
+
+
+
+<li><a href="sym_setVarSoln.html" class="refentry">sym_setVarSoln</a> &#8212; <span class="refentry-description">Set a solution for the problem</span></li>
+
+
+
+<li><a href="sym_setVarUpper.html" class="refentry">sym_setVarUpper</a> &#8212; <span class="refentry-description">Set upper bound of a variable</span></li>
+
+
+
+<li><a href="sym_solve.html" class="refentry">sym_solve</a> &#8212; <span class="refentry-description">To solve the currently loaded MILP problem from scratch.</span></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="symphonymat.html">&lt;&lt; symphonymat</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/help/en_US/scilab_en_US_help/section_6c2e5edddf1b5b09c56de3bdc2fc0d64.html b/help/en_US/scilab_en_US_help/section_6c2e5edddf1b5b09c56de3bdc2fc0d64.html
new file mode 100644
index 0000000..f83b867
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/section_6c2e5edddf1b5b09c56de3bdc2fc0d64.html
@@ -0,0 +1,285 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="symphonymat.html">&lt;&lt; symphonymat</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_8b595dffcf2928adea151d3ba6836faa.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_8b595dffcf2928adea151d3ba6836faa.html">FOSSEE Optimization Toolbox</a> &gt; Symphony Native Functions</span>
+
+ <br /><br />
+ <h3 class="title-chapter">Symphony Native Functions</h3>
+<ul class="list-refentry"><li><a href="sym_addConstr.html" class="refentry">sym_addConstr</a> &#8212; <span class="refentry-description">Add a new constraint</span></li>
+
+
+
+<li><a href="sym_addVar.html" class="refentry">sym_addVar</a> &#8212; <span class="refentry-description">Add a new variable</span></li>
+
+
+
+<li><a href="sym_close.html" class="refentry">sym_close</a> &#8212; <span class="refentry-description">Close the Symphony environment</span></li>
+
+
+
+<li><a href="sym_deleteConstrs.html" class="refentry">sym_deleteConstrs</a> &#8212; <span class="refentry-description">This routine is used to delete rows from the original constraint matrix.</span></li>
+
+
+
+<li><a href="sym_deleteVars.html" class="refentry">sym_deleteVars</a> &#8212; <span class="refentry-description">This routine is used to delete columns from the original problem description.</span></li>
+
+
+
+<li><a href="sym_getConstrActivity.html" class="refentry">sym_getConstrActivity</a> &#8212; <span class="refentry-description">Get the activity of the constraints in the solution</span></li>
+
+
+
+<li><a href="sym_getConstrLower.html" class="refentry">sym_getConstrLower</a> &#8212; <span class="refentry-description">To get the lower bounds of the constraints.</span></li>
+
+
+
+<li><a href="sym_getConstrRange.html" class="refentry">sym_getConstrRange</a> &#8212; <span class="refentry-description">To to get the constraint ranges.</span></li>
+
+
+
+<li><a href="sym_getConstrSense.html" class="refentry">sym_getConstrSense</a> &#8212; <span class="refentry-description">To get the row senses.</span></li>
+
+
+
+<li><a href="sym_getConstrUpper.html" class="refentry">sym_getConstrUpper</a> &#8212; <span class="refentry-description">To get the upper bounds of the constraints.</span></li>
+
+
+
+<li><a href="sym_getDblParam.html" class="refentry">sym_getDblParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of a double type parameter.</span></li>
+
+
+
+<li><a href="sym_getInfinity.html" class="refentry">sym_getInfinity</a> &#8212; <span class="refentry-description">Get Symphony&#0039;s infinity value</span></li>
+
+
+
+<li><a href="sym_getIntParam.html" class="refentry">sym_getIntParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of an integer type parameter.</span></li>
+
+
+
+<li><a href="sym_getIterCount.html" class="refentry">sym_getIterCount</a> &#8212; <span class="refentry-description">To get the number of the analyzed nodes of the branching tree after solving the problem.</span></li>
+
+
+
+<li><a href="sym_getMatrix.html" class="refentry">sym_getMatrix</a> &#8212; <span class="refentry-description">To get the constraint matrix.</span></li>
+
+
+
+<li><a href="sym_getNumConstr.html" class="refentry">sym_getNumConstr</a> &#8212; <span class="refentry-description">To get the number of the constraints of the current problem.</span></li>
+
+
+
+<li><a href="sym_getNumElements.html" class="refentry">sym_getNumElements</a> &#8212; <span class="refentry-description">To get the number of non-zero entries of the constraint matrix of the current problem.</span></li>
+
+
+
+<li><a href="sym_getNumVar.html" class="refentry">sym_getNumVar</a> &#8212; <span class="refentry-description">To get the number of the variables of the current problem.</span></li>
+
+
+
+<li><a href="sym_getObjCoeff.html" class="refentry">sym_getObjCoeff</a> &#8212; <span class="refentry-description">To get the objective vector.</span></li>
+
+
+
+<li><a href="sym_getObjSense.html" class="refentry">sym_getObjSense</a> &#8212; <span class="refentry-description">Get the objective sense</span></li>
+
+
+
+<li><a href="sym_getObjVal.html" class="refentry">sym_getObjVal</a> &#8212; <span class="refentry-description">Get the optimized objective value</span></li>
+
+
+
+<li><a href="sym_getPrimalBound.html" class="refentry">sym_getPrimalBound</a> &#8212; <span class="refentry-description">Get the primal bound of the problem</span></li>
+
+
+
+<li><a href="sym_getRhs.html" class="refentry">sym_getRhs</a> &#8212; <span class="refentry-description">To to get the right hand side vector(column vector).</span></li>
+
+
+
+<li><a href="sym_getStatus.html" class="refentry">sym_getStatus</a> &#8212; <span class="refentry-description">To get status of the problem solver.</span></li>
+
+
+
+<li><a href="sym_getStrParam.html" class="refentry">sym_getStrParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of a string type parameter.</span></li>
+
+
+
+<li><a href="sym_getVarLower.html" class="refentry">sym_getVarLower</a> &#8212; <span class="refentry-description">To get the lower bounds of the variables.</span></li>
+
+
+
+<li><a href="sym_getVarSoln.html" class="refentry">sym_getVarSoln</a> &#8212; <span class="refentry-description">Get the solution for the problem</span></li>
+
+
+
+<li><a href="sym_getVarUpper.html" class="refentry">sym_getVarUpper</a> &#8212; <span class="refentry-description">To get the upper bounds of the variables.</span></li>
+
+
+
+<li><a href="sym_isAbandoned.html" class="refentry">sym_isAbandoned</a> &#8212; <span class="refentry-description">To check whether the problem was abandoned for some reason.</span></li>
+
+
+
+<li><a href="sym_isBinary.html" class="refentry">sym_isBinary</a> &#8212; <span class="refentry-description">Check if a variable is constrained to be binary</span></li>
+
+
+
+<li><a href="sym_isContinuous.html" class="refentry">sym_isContinuous</a> &#8212; <span class="refentry-description">Check if a variable is continuous</span></li>
+
+
+
+<li><a href="sym_isEnvActive.html" class="refentry">sym_isEnvActive</a> &#8212; <span class="refentry-description">Check if Symphony environment is active</span></li>
+
+
+
+<li><a href="sym_isInfeasible.html" class="refentry">sym_isInfeasible</a> &#8212; <span class="refentry-description">To check whether the problem was proven to be infeasible.</span></li>
+
+
+
+<li><a href="sym_isInteger.html" class="refentry">sym_isInteger</a> &#8212; <span class="refentry-description">Check if a variable is constrained to be an integer</span></li>
+
+
+
+<li><a href="sym_isIterLimitReached.html" class="refentry">sym_isIterLimitReached</a> &#8212; <span class="refentry-description">To know whether the iteration limit (node limit) was reached.</span></li>
+
+
+
+<li><a href="sym_isOptimal.html" class="refentry">sym_isOptimal</a> &#8212; <span class="refentry-description">To check whether the problem was solved to optimality.</span></li>
+
+
+
+<li><a href="sym_isTargetGapAchieved.html" class="refentry">sym_isTargetGapAchieved</a> &#8212; <span class="refentry-description">To know whether the target gap was reached.</span></li>
+
+
+
+<li><a href="sym_isTimeLimitReached.html" class="refentry">sym_isTimeLimitReached</a> &#8212; <span class="refentry-description">To know whether the time limit was reached.</span></li>
+
+
+
+<li><a href="sym_loadMPS.html" class="refentry">sym_loadMPS</a> &#8212; <span class="refentry-description">This routine is used to load an instance from an MPS file.</span></li>
+
+
+
+<li><a href="sym_loadProblem.html" class="refentry">sym_loadProblem</a> &#8212; <span class="refentry-description">Load a problem into Symphony</span></li>
+
+
+
+<li><a href="sym_loadProblemBasic.html" class="refentry">sym_loadProblemBasic</a> &#8212; <span class="refentry-description">Load a problem into Symphony (basic version)</span></li>
+
+
+
+<li><a href="sym_open.html" class="refentry">sym_open</a> &#8212; <span class="refentry-description">Open the Symphony environment</span></li>
+
+
+
+<li><a href="sym_resetParams.html" class="refentry">sym_resetParams</a> &#8212; <span class="refentry-description">This routine sets all the environment variables and parameters to their default values.</span></li>
+
+
+
+<li><a href="sym_setConstrLower.html" class="refentry">sym_setConstrLower</a> &#8212; <span class="refentry-description">Set the lower bound of a constraint</span></li>
+
+
+
+<li><a href="sym_setConstrType.html" class="refentry">sym_setConstrType</a> &#8212; <span class="refentry-description">Set the type of a constraint</span></li>
+
+
+
+<li><a href="sym_setConstrUpper.html" class="refentry">sym_setConstrUpper</a> &#8212; <span class="refentry-description">Set the upper bound of a constraint</span></li>
+
+
+
+<li><a href="sym_setContinuous.html" class="refentry">sym_setContinuous</a> &#8212; <span class="refentry-description">This routine is used to set the type of a variable to be continuous.</span></li>
+
+
+
+<li><a href="sym_setDblParam.html" class="refentry">sym_setDblParam</a> &#8212; <span class="refentry-description">This routine is used to set a double type parameter.</span></li>
+
+
+
+<li><a href="sym_setIntParam.html" class="refentry">sym_setIntParam</a> &#8212; <span class="refentry-description">This routine is used to set an integer type parameter.</span></li>
+
+
+
+<li><a href="sym_setInteger.html" class="refentry">sym_setInteger</a> &#8212; <span class="refentry-description">This routine is used to set the type of a variable to be integer.</span></li>
+
+
+
+<li><a href="sym_setObjCoeff.html" class="refentry">sym_setObjCoeff</a> &#8212; <span class="refentry-description">Set coefficient of a variable in the objective</span></li>
+
+
+
+<li><a href="sym_setObjSense.html" class="refentry">sym_setObjSense</a> &#8212; <span class="refentry-description">Set the objective sense</span></li>
+
+
+
+<li><a href="sym_setPrimalBound.html" class="refentry">sym_setPrimalBound</a> &#8212; <span class="refentry-description">Set the primal bound of the problem</span></li>
+
+
+
+<li><a href="sym_setStrParam.html" class="refentry">sym_setStrParam</a> &#8212; <span class="refentry-description">This routine is used to set a string type parameter.</span></li>
+
+
+
+<li><a href="sym_setVarLower.html" class="refentry">sym_setVarLower</a> &#8212; <span class="refentry-description">Set lower bound of a variable</span></li>
+
+
+
+<li><a href="sym_setVarSoln.html" class="refentry">sym_setVarSoln</a> &#8212; <span class="refentry-description">Set a solution for the problem</span></li>
+
+
+
+<li><a href="sym_setVarUpper.html" class="refentry">sym_setVarUpper</a> &#8212; <span class="refentry-description">Set upper bound of a variable</span></li>
+
+
+
+<li><a href="sym_solve.html" class="refentry">sym_solve</a> &#8212; <span class="refentry-description">To solve the currently loaded MILP problem from scratch.</span></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="symphonymat.html">&lt;&lt; symphonymat</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_8b595dffcf2928adea151d3ba6836faa.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/help/en_US/scilab_en_US_help/section_7f9be39cf912aa1e283b946d86a6bd7c.html b/help/en_US/scilab_en_US_help/section_7f9be39cf912aa1e283b946d86a6bd7c.html
new file mode 100644
index 0000000..b0bf4dd
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/section_7f9be39cf912aa1e283b946d86a6bd7c.html
@@ -0,0 +1,357 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; FOSSEE Optimization Toolbox</span>
+
+ <br /><br />
+ <h3 class="title-part">FOSSEE Optimization Toolbox</h3>
+<ul class="list-chapter"><li><a href="fgoalattain.html" class="refentry">fgoalattain</a> &#8212; <span class="refentry-description">Solves a multiobjective goal attainment problem</span></li>
+
+
+
+
+
+<li><a href="fminbnd.html" class="refentry">fminbnd</a> &#8212; <span class="refentry-description">Solves a multi-variable optimization problem on a bounded interval</span></li>
+
+
+
+
+
+<li><a href="fmincon.html" class="refentry">fmincon</a> &#8212; <span class="refentry-description">Solves a multi-variable constrainted optimization problem.</span></li>
+
+
+
+
+
+<li><a href="fminimax.html" class="refentry">fminimax</a> &#8212; <span class="refentry-description">Solves minimax constraint problem</span></li>
+
+
+
+
+
+<li><a href="fminunc.html" class="refentry">fminunc</a> &#8212; <span class="refentry-description">Solves a multi-variable unconstrainted optimization problem</span></li>
+
+
+
+
+
+<li><a href="linprog.html" class="refentry">linprog</a> &#8212; <span class="refentry-description">Solves a linear programming problem.</span></li>
+
+
+
+
+<li><a href="lsqlin.html" class="refentry">lsqlin</a> &#8212; <span class="refentry-description">Solves a linear quadratic problem.</span></li>
+
+
+
+
+
+<li><a href="lsqnonlin.html" class="refentry">lsqnonlin</a> &#8212; <span class="refentry-description">Solves a non linear data fitting problems.</span></li>
+
+
+
+
+
+<li><a href="lsqnonneg.html" class="refentry">lsqnonneg</a> &#8212; <span class="refentry-description">Solves nonnegative least-squares curve fitting problems.</span></li>
+
+
+
+
+
+<li><a href="qpipopt.html" class="refentry">qpipopt</a> &#8212; <span class="refentry-description">Solves a linear quadratic problem.</span></li>
+
+
+
+
+
+<li><a href="qpipoptmat.html" class="refentry">qpipoptmat</a> &#8212; <span class="refentry-description">Solves a linear quadratic problem.</span></li>
+
+
+
+
+
+<li><a href="symphony.html" class="refentry">symphony</a> &#8212; <span class="refentry-description">Solves a mixed integer linear programming constrained optimization problem.</span></li>
+
+
+
+
+
+<li><a href="symphonymat.html" class="refentry">symphonymat</a> &#8212; <span class="refentry-description">Solves a mixed integer linear programming constrained optimization problem in intlinprog format.</span></li>
+
+<li><a href="section_016165dcad2b2229387faee34442c3dd.html" class="chapter">Symphony Native Functions</a>
+<ul class="list-refentry"><li><a href="sym_addConstr.html" class="refentry">sym_addConstr</a> &#8212; <span class="refentry-description">Add a new constraint</span></li>
+
+
+
+<li><a href="sym_addVar.html" class="refentry">sym_addVar</a> &#8212; <span class="refentry-description">Add a new variable</span></li>
+
+
+
+<li><a href="sym_close.html" class="refentry">sym_close</a> &#8212; <span class="refentry-description">Close the Symphony environment</span></li>
+
+
+
+<li><a href="sym_deleteConstrs.html" class="refentry">sym_deleteConstrs</a> &#8212; <span class="refentry-description">This routine is used to delete rows from the original constraint matrix.</span></li>
+
+
+
+<li><a href="sym_deleteVars.html" class="refentry">sym_deleteVars</a> &#8212; <span class="refentry-description">This routine is used to delete columns from the original problem description.</span></li>
+
+
+
+<li><a href="sym_getConstrActivity.html" class="refentry">sym_getConstrActivity</a> &#8212; <span class="refentry-description">Get the activity of the constraints in the solution</span></li>
+
+
+
+<li><a href="sym_getConstrLower.html" class="refentry">sym_getConstrLower</a> &#8212; <span class="refentry-description">To get the lower bounds of the constraints.</span></li>
+
+
+
+<li><a href="sym_getConstrRange.html" class="refentry">sym_getConstrRange</a> &#8212; <span class="refentry-description">To to get the constraint ranges.</span></li>
+
+
+
+<li><a href="sym_getConstrSense.html" class="refentry">sym_getConstrSense</a> &#8212; <span class="refentry-description">To get the row senses.</span></li>
+
+
+
+<li><a href="sym_getConstrUpper.html" class="refentry">sym_getConstrUpper</a> &#8212; <span class="refentry-description">To get the upper bounds of the constraints.</span></li>
+
+
+
+<li><a href="sym_getDblParam.html" class="refentry">sym_getDblParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of a double type parameter.</span></li>
+
+
+
+<li><a href="sym_getInfinity.html" class="refentry">sym_getInfinity</a> &#8212; <span class="refentry-description">Get Symphony&#0039;s infinity value</span></li>
+
+
+
+<li><a href="sym_getIntParam.html" class="refentry">sym_getIntParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of an integer type parameter.</span></li>
+
+
+
+<li><a href="sym_getIterCount.html" class="refentry">sym_getIterCount</a> &#8212; <span class="refentry-description">To get the number of the analyzed nodes of the branching tree after solving the problem.</span></li>
+
+
+
+<li><a href="sym_getMatrix.html" class="refentry">sym_getMatrix</a> &#8212; <span class="refentry-description">To get the constraint matrix.</span></li>
+
+
+
+<li><a href="sym_getNumConstr.html" class="refentry">sym_getNumConstr</a> &#8212; <span class="refentry-description">To get the number of the constraints of the current problem.</span></li>
+
+
+
+<li><a href="sym_getNumElements.html" class="refentry">sym_getNumElements</a> &#8212; <span class="refentry-description">To get the number of non-zero entries of the constraint matrix of the current problem.</span></li>
+
+
+
+<li><a href="sym_getNumVar.html" class="refentry">sym_getNumVar</a> &#8212; <span class="refentry-description">To get the number of the variables of the current problem.</span></li>
+
+
+
+<li><a href="sym_getObjCoeff.html" class="refentry">sym_getObjCoeff</a> &#8212; <span class="refentry-description">To get the objective vector.</span></li>
+
+
+
+<li><a href="sym_getObjSense.html" class="refentry">sym_getObjSense</a> &#8212; <span class="refentry-description">Get the objective sense</span></li>
+
+
+
+<li><a href="sym_getObjVal.html" class="refentry">sym_getObjVal</a> &#8212; <span class="refentry-description">Get the optimized objective value</span></li>
+
+
+
+<li><a href="sym_getPrimalBound.html" class="refentry">sym_getPrimalBound</a> &#8212; <span class="refentry-description">Get the primal bound of the problem</span></li>
+
+
+
+<li><a href="sym_getRhs.html" class="refentry">sym_getRhs</a> &#8212; <span class="refentry-description">To to get the right hand side vector(column vector).</span></li>
+
+
+
+<li><a href="sym_getStatus.html" class="refentry">sym_getStatus</a> &#8212; <span class="refentry-description">To get status of the problem solver.</span></li>
+
+
+
+<li><a href="sym_getStrParam.html" class="refentry">sym_getStrParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of a string type parameter.</span></li>
+
+
+
+<li><a href="sym_getVarLower.html" class="refentry">sym_getVarLower</a> &#8212; <span class="refentry-description">To get the lower bounds of the variables.</span></li>
+
+
+
+<li><a href="sym_getVarSoln.html" class="refentry">sym_getVarSoln</a> &#8212; <span class="refentry-description">Get the solution for the problem</span></li>
+
+
+
+<li><a href="sym_getVarUpper.html" class="refentry">sym_getVarUpper</a> &#8212; <span class="refentry-description">To get the upper bounds of the variables.</span></li>
+
+
+
+<li><a href="sym_isAbandoned.html" class="refentry">sym_isAbandoned</a> &#8212; <span class="refentry-description">To check whether the problem was abandoned for some reason.</span></li>
+
+
+
+<li><a href="sym_isBinary.html" class="refentry">sym_isBinary</a> &#8212; <span class="refentry-description">Check if a variable is constrained to be binary</span></li>
+
+
+
+<li><a href="sym_isContinuous.html" class="refentry">sym_isContinuous</a> &#8212; <span class="refentry-description">Check if a variable is continuous</span></li>
+
+
+
+<li><a href="sym_isEnvActive.html" class="refentry">sym_isEnvActive</a> &#8212; <span class="refentry-description">Check if Symphony environment is active</span></li>
+
+
+
+<li><a href="sym_isInfeasible.html" class="refentry">sym_isInfeasible</a> &#8212; <span class="refentry-description">To check whether the problem was proven to be infeasible.</span></li>
+
+
+
+<li><a href="sym_isInteger.html" class="refentry">sym_isInteger</a> &#8212; <span class="refentry-description">Check if a variable is constrained to be an integer</span></li>
+
+
+
+<li><a href="sym_isIterLimitReached.html" class="refentry">sym_isIterLimitReached</a> &#8212; <span class="refentry-description">To know whether the iteration limit (node limit) was reached.</span></li>
+
+
+
+<li><a href="sym_isOptimal.html" class="refentry">sym_isOptimal</a> &#8212; <span class="refentry-description">To check whether the problem was solved to optimality.</span></li>
+
+
+
+<li><a href="sym_isTargetGapAchieved.html" class="refentry">sym_isTargetGapAchieved</a> &#8212; <span class="refentry-description">To know whether the target gap was reached.</span></li>
+
+
+
+<li><a href="sym_isTimeLimitReached.html" class="refentry">sym_isTimeLimitReached</a> &#8212; <span class="refentry-description">To know whether the time limit was reached.</span></li>
+
+
+
+<li><a href="sym_loadMPS.html" class="refentry">sym_loadMPS</a> &#8212; <span class="refentry-description">This routine is used to load an instance from an MPS file.</span></li>
+
+
+
+<li><a href="sym_loadProblem.html" class="refentry">sym_loadProblem</a> &#8212; <span class="refentry-description">Load a problem into Symphony</span></li>
+
+
+
+<li><a href="sym_loadProblemBasic.html" class="refentry">sym_loadProblemBasic</a> &#8212; <span class="refentry-description">Load a problem into Symphony (basic version)</span></li>
+
+
+
+<li><a href="sym_open.html" class="refentry">sym_open</a> &#8212; <span class="refentry-description">Open the Symphony environment</span></li>
+
+
+
+<li><a href="sym_resetParams.html" class="refentry">sym_resetParams</a> &#8212; <span class="refentry-description">This routine sets all the environment variables and parameters to their default values.</span></li>
+
+
+
+<li><a href="sym_setConstrLower.html" class="refentry">sym_setConstrLower</a> &#8212; <span class="refentry-description">Set the lower bound of a constraint</span></li>
+
+
+
+<li><a href="sym_setConstrType.html" class="refentry">sym_setConstrType</a> &#8212; <span class="refentry-description">Set the type of a constraint</span></li>
+
+
+
+<li><a href="sym_setConstrUpper.html" class="refentry">sym_setConstrUpper</a> &#8212; <span class="refentry-description">Set the upper bound of a constraint</span></li>
+
+
+
+<li><a href="sym_setContinuous.html" class="refentry">sym_setContinuous</a> &#8212; <span class="refentry-description">This routine is used to set the type of a variable to be continuous.</span></li>
+
+
+
+<li><a href="sym_setDblParam.html" class="refentry">sym_setDblParam</a> &#8212; <span class="refentry-description">This routine is used to set a double type parameter.</span></li>
+
+
+
+<li><a href="sym_setIntParam.html" class="refentry">sym_setIntParam</a> &#8212; <span class="refentry-description">This routine is used to set an integer type parameter.</span></li>
+
+
+
+<li><a href="sym_setInteger.html" class="refentry">sym_setInteger</a> &#8212; <span class="refentry-description">This routine is used to set the type of a variable to be integer.</span></li>
+
+
+
+<li><a href="sym_setObjCoeff.html" class="refentry">sym_setObjCoeff</a> &#8212; <span class="refentry-description">Set coefficient of a variable in the objective</span></li>
+
+
+
+<li><a href="sym_setObjSense.html" class="refentry">sym_setObjSense</a> &#8212; <span class="refentry-description">Set the objective sense</span></li>
+
+
+
+<li><a href="sym_setPrimalBound.html" class="refentry">sym_setPrimalBound</a> &#8212; <span class="refentry-description">Set the primal bound of the problem</span></li>
+
+
+
+<li><a href="sym_setStrParam.html" class="refentry">sym_setStrParam</a> &#8212; <span class="refentry-description">This routine is used to set a string type parameter.</span></li>
+
+
+
+<li><a href="sym_setVarLower.html" class="refentry">sym_setVarLower</a> &#8212; <span class="refentry-description">Set lower bound of a variable</span></li>
+
+
+
+<li><a href="sym_setVarSoln.html" class="refentry">sym_setVarSoln</a> &#8212; <span class="refentry-description">Set a solution for the problem</span></li>
+
+
+
+<li><a href="sym_setVarUpper.html" class="refentry">sym_setVarUpper</a> &#8212; <span class="refentry-description">Set upper bound of a variable</span></li>
+
+
+
+<li><a href="sym_solve.html" class="refentry">sym_solve</a> &#8212; <span class="refentry-description">To solve the currently loaded MILP problem from scratch.</span></li></ul></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/help/en_US/scilab_en_US_help/section_8b595dffcf2928adea151d3ba6836faa.html b/help/en_US/scilab_en_US_help/section_8b595dffcf2928adea151d3ba6836faa.html
new file mode 100644
index 0000000..4bc31eb
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/section_8b595dffcf2928adea151d3ba6836faa.html
@@ -0,0 +1,394 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; FOSSEE Optimization Toolbox</span>
+
+ <br /><br />
+ <h3 class="title-part">FOSSEE Optimization Toolbox</h3>
+<ul class="list-chapter"><li><a href="cbcintlinprog.html" class="refentry">cbcintlinprog</a> &#8212; <span class="refentry-description">Solves a mixed integer linear programming constrained optimization problem in intlinprog format.</span></li>
+
+
+
+
+
+<li><a href="fgoalattain.html" class="refentry">fgoalattain</a> &#8212; <span class="refentry-description">Solves a multiobjective goal attainment problem</span></li>
+
+
+
+
+
+<li><a href="fminbnd.html" class="refentry">fminbnd</a> &#8212; <span class="refentry-description">Solves a multi-variable optimization problem on a bounded interval</span></li>
+
+
+
+
+
+<li><a href="fmincon.html" class="refentry">fmincon</a> &#8212; <span class="refentry-description">Solves a multi-variable constrainted optimization problem.</span></li>
+
+
+
+
+
+<li><a href="fminimax.html" class="refentry">fminimax</a> &#8212; <span class="refentry-description">Solves minimax constraint problem</span></li>
+
+
+
+
+
+<li><a href="fminunc.html" class="refentry">fminunc</a> &#8212; <span class="refentry-description">Solves a multi-variable unconstrainted optimization problem</span></li>
+
+
+
+
+
+<li><a href="intfminbnd.html" class="refentry">intfminbnd</a> &#8212; <span class="refentry-description">Solves a multi-variable optimization problem on a bounded interval</span></li>
+
+
+
+
+
+<li><a href="intfmincon.html" class="refentry">intfmincon</a> &#8212; <span class="refentry-description">Solves a constrainted multi-variable mixed integer non linear programming problem</span></li>
+
+
+
+
+
+<li><a href="intfminimax.html" class="refentry">intfminimax</a> &#8212; <span class="refentry-description">Solves minimax constraint problem</span></li>
+
+
+
+
+
+<li><a href="intfminunc.html" class="refentry">intfminunc</a> &#8212; <span class="refentry-description">Solves an unconstrainted multi-variable mixed integer non linear programming optimization problem</span></li>
+
+
+
+
+
+<li><a href="intqpipopt.html" class="refentry">intqpipopt</a> &#8212; <span class="refentry-description">Solves a linear quadratic problem.</span></li>
+
+
+
+
+
+<li><a href="linprog.html" class="refentry">linprog</a> &#8212; <span class="refentry-description">Solves a linear programming problem.</span></li>
+
+
+
+
+
+<li><a href="lsqlin.html" class="refentry">lsqlin</a> &#8212; <span class="refentry-description">Solves a linear quadratic problem.</span></li>
+
+
+
+
+
+<li><a href="lsqnonlin.html" class="refentry">lsqnonlin</a> &#8212; <span class="refentry-description">Solves a non linear data fitting problems.</span></li>
+
+
+
+
+
+<li><a href="lsqnonneg.html" class="refentry">lsqnonneg</a> &#8212; <span class="refentry-description">Solves nonnegative least-squares curve fitting problems.</span></li>
+
+
+
+
+
+<li><a href="qpipopt.html" class="refentry">qpipopt</a> &#8212; <span class="refentry-description">Solves a linear quadratic problem.</span></li>
+
+
+
+
+
+<li><a href="qpipoptmat.html" class="refentry">qpipoptmat</a> &#8212; <span class="refentry-description">Solves a linear quadratic problem.</span></li>
+
+
+
+
+
+<li><a href="symphony.html" class="refentry">symphony</a> &#8212; <span class="refentry-description">Solves a mixed integer linear programming constrained optimization problem.</span></li>
+
+
+
+
+
+<li><a href="symphonymat.html" class="refentry">symphonymat</a> &#8212; <span class="refentry-description">Solves a mixed integer linear programming constrained optimization problem in intlinprog format.</span></li>
+
+<li><a href="section_6c2e5edddf1b5b09c56de3bdc2fc0d64.html" class="chapter">Symphony Native Functions</a>
+<ul class="list-refentry"><li><a href="sym_addConstr.html" class="refentry">sym_addConstr</a> &#8212; <span class="refentry-description">Add a new constraint</span></li>
+
+
+
+<li><a href="sym_addVar.html" class="refentry">sym_addVar</a> &#8212; <span class="refentry-description">Add a new variable</span></li>
+
+
+
+<li><a href="sym_close.html" class="refentry">sym_close</a> &#8212; <span class="refentry-description">Close the Symphony environment</span></li>
+
+
+
+<li><a href="sym_deleteConstrs.html" class="refentry">sym_deleteConstrs</a> &#8212; <span class="refentry-description">This routine is used to delete rows from the original constraint matrix.</span></li>
+
+
+
+<li><a href="sym_deleteVars.html" class="refentry">sym_deleteVars</a> &#8212; <span class="refentry-description">This routine is used to delete columns from the original problem description.</span></li>
+
+
+
+<li><a href="sym_getConstrActivity.html" class="refentry">sym_getConstrActivity</a> &#8212; <span class="refentry-description">Get the activity of the constraints in the solution</span></li>
+
+
+
+<li><a href="sym_getConstrLower.html" class="refentry">sym_getConstrLower</a> &#8212; <span class="refentry-description">To get the lower bounds of the constraints.</span></li>
+
+
+
+<li><a href="sym_getConstrRange.html" class="refentry">sym_getConstrRange</a> &#8212; <span class="refentry-description">To to get the constraint ranges.</span></li>
+
+
+
+<li><a href="sym_getConstrSense.html" class="refentry">sym_getConstrSense</a> &#8212; <span class="refentry-description">To get the row senses.</span></li>
+
+
+
+<li><a href="sym_getConstrUpper.html" class="refentry">sym_getConstrUpper</a> &#8212; <span class="refentry-description">To get the upper bounds of the constraints.</span></li>
+
+
+
+<li><a href="sym_getDblParam.html" class="refentry">sym_getDblParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of a double type parameter.</span></li>
+
+
+
+<li><a href="sym_getInfinity.html" class="refentry">sym_getInfinity</a> &#8212; <span class="refentry-description">Get Symphony&#0039;s infinity value</span></li>
+
+
+
+<li><a href="sym_getIntParam.html" class="refentry">sym_getIntParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of an integer type parameter.</span></li>
+
+
+
+<li><a href="sym_getIterCount.html" class="refentry">sym_getIterCount</a> &#8212; <span class="refentry-description">To get the number of the analyzed nodes of the branching tree after solving the problem.</span></li>
+
+
+
+<li><a href="sym_getMatrix.html" class="refentry">sym_getMatrix</a> &#8212; <span class="refentry-description">To get the constraint matrix.</span></li>
+
+
+
+<li><a href="sym_getNumConstr.html" class="refentry">sym_getNumConstr</a> &#8212; <span class="refentry-description">To get the number of the constraints of the current problem.</span></li>
+
+
+
+<li><a href="sym_getNumElements.html" class="refentry">sym_getNumElements</a> &#8212; <span class="refentry-description">To get the number of non-zero entries of the constraint matrix of the current problem.</span></li>
+
+
+
+<li><a href="sym_getNumVar.html" class="refentry">sym_getNumVar</a> &#8212; <span class="refentry-description">To get the number of the variables of the current problem.</span></li>
+
+
+
+<li><a href="sym_getObjCoeff.html" class="refentry">sym_getObjCoeff</a> &#8212; <span class="refentry-description">To get the objective vector.</span></li>
+
+
+
+<li><a href="sym_getObjSense.html" class="refentry">sym_getObjSense</a> &#8212; <span class="refentry-description">Get the objective sense</span></li>
+
+
+
+<li><a href="sym_getObjVal.html" class="refentry">sym_getObjVal</a> &#8212; <span class="refentry-description">Get the optimized objective value</span></li>
+
+
+
+<li><a href="sym_getPrimalBound.html" class="refentry">sym_getPrimalBound</a> &#8212; <span class="refentry-description">Get the primal bound of the problem</span></li>
+
+
+
+<li><a href="sym_getRhs.html" class="refentry">sym_getRhs</a> &#8212; <span class="refentry-description">To to get the right hand side vector(column vector).</span></li>
+
+
+
+<li><a href="sym_getStatus.html" class="refentry">sym_getStatus</a> &#8212; <span class="refentry-description">To get status of the problem solver.</span></li>
+
+
+
+<li><a href="sym_getStrParam.html" class="refentry">sym_getStrParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of a string type parameter.</span></li>
+
+
+
+<li><a href="sym_getVarLower.html" class="refentry">sym_getVarLower</a> &#8212; <span class="refentry-description">To get the lower bounds of the variables.</span></li>
+
+
+
+<li><a href="sym_getVarSoln.html" class="refentry">sym_getVarSoln</a> &#8212; <span class="refentry-description">Get the solution for the problem</span></li>
+
+
+
+<li><a href="sym_getVarUpper.html" class="refentry">sym_getVarUpper</a> &#8212; <span class="refentry-description">To get the upper bounds of the variables.</span></li>
+
+
+
+<li><a href="sym_isAbandoned.html" class="refentry">sym_isAbandoned</a> &#8212; <span class="refentry-description">To check whether the problem was abandoned for some reason.</span></li>
+
+
+
+<li><a href="sym_isBinary.html" class="refentry">sym_isBinary</a> &#8212; <span class="refentry-description">Check if a variable is constrained to be binary</span></li>
+
+
+
+<li><a href="sym_isContinuous.html" class="refentry">sym_isContinuous</a> &#8212; <span class="refentry-description">Check if a variable is continuous</span></li>
+
+
+
+<li><a href="sym_isEnvActive.html" class="refentry">sym_isEnvActive</a> &#8212; <span class="refentry-description">Check if Symphony environment is active</span></li>
+
+
+
+<li><a href="sym_isInfeasible.html" class="refentry">sym_isInfeasible</a> &#8212; <span class="refentry-description">To check whether the problem was proven to be infeasible.</span></li>
+
+
+
+<li><a href="sym_isInteger.html" class="refentry">sym_isInteger</a> &#8212; <span class="refentry-description">Check if a variable is constrained to be an integer</span></li>
+
+
+
+<li><a href="sym_isIterLimitReached.html" class="refentry">sym_isIterLimitReached</a> &#8212; <span class="refentry-description">To know whether the iteration limit (node limit) was reached.</span></li>
+
+
+
+<li><a href="sym_isOptimal.html" class="refentry">sym_isOptimal</a> &#8212; <span class="refentry-description">To check whether the problem was solved to optimality.</span></li>
+
+
+
+<li><a href="sym_isTargetGapAchieved.html" class="refentry">sym_isTargetGapAchieved</a> &#8212; <span class="refentry-description">To know whether the target gap was reached.</span></li>
+
+
+
+<li><a href="sym_isTimeLimitReached.html" class="refentry">sym_isTimeLimitReached</a> &#8212; <span class="refentry-description">To know whether the time limit was reached.</span></li>
+
+
+
+<li><a href="sym_loadMPS.html" class="refentry">sym_loadMPS</a> &#8212; <span class="refentry-description">This routine is used to load an instance from an MPS file.</span></li>
+
+
+
+<li><a href="sym_loadProblem.html" class="refentry">sym_loadProblem</a> &#8212; <span class="refentry-description">Load a problem into Symphony</span></li>
+
+
+
+<li><a href="sym_loadProblemBasic.html" class="refentry">sym_loadProblemBasic</a> &#8212; <span class="refentry-description">Load a problem into Symphony (basic version)</span></li>
+
+
+
+<li><a href="sym_open.html" class="refentry">sym_open</a> &#8212; <span class="refentry-description">Open the Symphony environment</span></li>
+
+
+
+<li><a href="sym_resetParams.html" class="refentry">sym_resetParams</a> &#8212; <span class="refentry-description">This routine sets all the environment variables and parameters to their default values.</span></li>
+
+
+
+<li><a href="sym_setConstrLower.html" class="refentry">sym_setConstrLower</a> &#8212; <span class="refentry-description">Set the lower bound of a constraint</span></li>
+
+
+
+<li><a href="sym_setConstrType.html" class="refentry">sym_setConstrType</a> &#8212; <span class="refentry-description">Set the type of a constraint</span></li>
+
+
+
+<li><a href="sym_setConstrUpper.html" class="refentry">sym_setConstrUpper</a> &#8212; <span class="refentry-description">Set the upper bound of a constraint</span></li>
+
+
+
+<li><a href="sym_setContinuous.html" class="refentry">sym_setContinuous</a> &#8212; <span class="refentry-description">This routine is used to set the type of a variable to be continuous.</span></li>
+
+
+
+<li><a href="sym_setDblParam.html" class="refentry">sym_setDblParam</a> &#8212; <span class="refentry-description">This routine is used to set a double type parameter.</span></li>
+
+
+
+<li><a href="sym_setIntParam.html" class="refentry">sym_setIntParam</a> &#8212; <span class="refentry-description">This routine is used to set an integer type parameter.</span></li>
+
+
+
+<li><a href="sym_setInteger.html" class="refentry">sym_setInteger</a> &#8212; <span class="refentry-description">This routine is used to set the type of a variable to be integer.</span></li>
+
+
+
+<li><a href="sym_setObjCoeff.html" class="refentry">sym_setObjCoeff</a> &#8212; <span class="refentry-description">Set coefficient of a variable in the objective</span></li>
+
+
+
+<li><a href="sym_setObjSense.html" class="refentry">sym_setObjSense</a> &#8212; <span class="refentry-description">Set the objective sense</span></li>
+
+
+
+<li><a href="sym_setPrimalBound.html" class="refentry">sym_setPrimalBound</a> &#8212; <span class="refentry-description">Set the primal bound of the problem</span></li>
+
+
+
+<li><a href="sym_setStrParam.html" class="refentry">sym_setStrParam</a> &#8212; <span class="refentry-description">This routine is used to set a string type parameter.</span></li>
+
+
+
+<li><a href="sym_setVarLower.html" class="refentry">sym_setVarLower</a> &#8212; <span class="refentry-description">Set lower bound of a variable</span></li>
+
+
+
+<li><a href="sym_setVarSoln.html" class="refentry">sym_setVarSoln</a> &#8212; <span class="refentry-description">Set a solution for the problem</span></li>
+
+
+
+<li><a href="sym_setVarUpper.html" class="refentry">sym_setVarUpper</a> &#8212; <span class="refentry-description">Set upper bound of a variable</span></li>
+
+
+
+<li><a href="sym_solve.html" class="refentry">sym_solve</a> &#8212; <span class="refentry-description">To solve the currently loaded MILP problem from scratch.</span></li></ul></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/help/en_US/scilab_en_US_help/section_c78c9c5b46dbea583df3c010a77e5758.html b/help/en_US/scilab_en_US_help/section_c78c9c5b46dbea583df3c010a77e5758.html
new file mode 100644
index 0000000..c083a52
--- /dev/null
+++ b/help/en_US/scilab_en_US_help/section_c78c9c5b46dbea583df3c010a77e5758.html
@@ -0,0 +1,285 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="symphonymat.html">&lt;&lt; symphonymat</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_2122a46e06605359e022857633f38a15.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_2122a46e06605359e022857633f38a15.html">FOSSEE Optimization Toolbox</a> &gt; Symphony Native Functions</span>
+
+ <br /><br />
+ <h3 class="title-chapter">Symphony Native Functions</h3>
+<ul class="list-refentry"><li><a href="sym_addConstr.html" class="refentry">sym_addConstr</a> &#8212; <span class="refentry-description">Add a new constraint</span></li>
+
+
+
+<li><a href="sym_addVar.html" class="refentry">sym_addVar</a> &#8212; <span class="refentry-description">Add a new variable</span></li>
+
+
+
+<li><a href="sym_close.html" class="refentry">sym_close</a> &#8212; <span class="refentry-description">Close the Symphony environment</span></li>
+
+
+
+<li><a href="sym_deleteConstrs.html" class="refentry">sym_deleteConstrs</a> &#8212; <span class="refentry-description">This routine is used to delete rows from the original constraint matrix.</span></li>
+
+
+
+<li><a href="sym_deleteVars.html" class="refentry">sym_deleteVars</a> &#8212; <span class="refentry-description">This routine is used to delete columns from the original problem description.</span></li>
+
+
+
+<li><a href="sym_getConstrActivity.html" class="refentry">sym_getConstrActivity</a> &#8212; <span class="refentry-description">Get the activity of the constraints in the solution</span></li>
+
+
+
+<li><a href="sym_getConstrLower.html" class="refentry">sym_getConstrLower</a> &#8212; <span class="refentry-description">To get the lower bounds of the constraints.</span></li>
+
+
+
+<li><a href="sym_getConstrRange.html" class="refentry">sym_getConstrRange</a> &#8212; <span class="refentry-description">To to get the constraint ranges.</span></li>
+
+
+
+<li><a href="sym_getConstrSense.html" class="refentry">sym_getConstrSense</a> &#8212; <span class="refentry-description">To get the row senses.</span></li>
+
+
+
+<li><a href="sym_getConstrUpper.html" class="refentry">sym_getConstrUpper</a> &#8212; <span class="refentry-description">To get the upper bounds of the constraints.</span></li>
+
+
+
+<li><a href="sym_getDblParam.html" class="refentry">sym_getDblParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of a double type parameter.</span></li>
+
+
+
+<li><a href="sym_getInfinity.html" class="refentry">sym_getInfinity</a> &#8212; <span class="refentry-description">Get Symphony&#0039;s infinity value</span></li>
+
+
+
+<li><a href="sym_getIntParam.html" class="refentry">sym_getIntParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of an integer type parameter.</span></li>
+
+
+
+<li><a href="sym_getIterCount.html" class="refentry">sym_getIterCount</a> &#8212; <span class="refentry-description">To get the number of the analyzed nodes of the branching tree after solving the problem.</span></li>
+
+
+
+<li><a href="sym_getMatrix.html" class="refentry">sym_getMatrix</a> &#8212; <span class="refentry-description">To get the constraint matrix.</span></li>
+
+
+
+<li><a href="sym_getNumConstr.html" class="refentry">sym_getNumConstr</a> &#8212; <span class="refentry-description">To get the number of the constraints of the current problem.</span></li>
+
+
+
+<li><a href="sym_getNumElements.html" class="refentry">sym_getNumElements</a> &#8212; <span class="refentry-description">To get the number of non-zero entries of the constraint matrix of the current problem.</span></li>
+
+
+
+<li><a href="sym_getNumVar.html" class="refentry">sym_getNumVar</a> &#8212; <span class="refentry-description">To get the number of the variables of the current problem.</span></li>
+
+
+
+<li><a href="sym_getObjCoeff.html" class="refentry">sym_getObjCoeff</a> &#8212; <span class="refentry-description">To get the objective vector.</span></li>
+
+
+
+<li><a href="sym_getObjSense.html" class="refentry">sym_getObjSense</a> &#8212; <span class="refentry-description">Get the objective sense</span></li>
+
+
+
+<li><a href="sym_getObjVal.html" class="refentry">sym_getObjVal</a> &#8212; <span class="refentry-description">Get the optimized objective value</span></li>
+
+
+
+<li><a href="sym_getPrimalBound.html" class="refentry">sym_getPrimalBound</a> &#8212; <span class="refentry-description">Get the primal bound of the problem</span></li>
+
+
+
+<li><a href="sym_getRhs.html" class="refentry">sym_getRhs</a> &#8212; <span class="refentry-description">To to get the right hand side vector(column vector).</span></li>
+
+
+
+<li><a href="sym_getStatus.html" class="refentry">sym_getStatus</a> &#8212; <span class="refentry-description">To get status of the problem solver.</span></li>
+
+
+
+<li><a href="sym_getStrParam.html" class="refentry">sym_getStrParam</a> &#8212; <span class="refentry-description">This routine is used to get the value of a string type parameter.</span></li>
+
+
+
+<li><a href="sym_getVarLower.html" class="refentry">sym_getVarLower</a> &#8212; <span class="refentry-description">To get the lower bounds of the variables.</span></li>
+
+
+
+<li><a href="sym_getVarSoln.html" class="refentry">sym_getVarSoln</a> &#8212; <span class="refentry-description">Get the solution for the problem</span></li>
+
+
+
+<li><a href="sym_getVarUpper.html" class="refentry">sym_getVarUpper</a> &#8212; <span class="refentry-description">To get the upper bounds of the variables.</span></li>
+
+
+
+<li><a href="sym_isAbandoned.html" class="refentry">sym_isAbandoned</a> &#8212; <span class="refentry-description">To check whether the problem was abandoned for some reason.</span></li>
+
+
+
+<li><a href="sym_isBinary.html" class="refentry">sym_isBinary</a> &#8212; <span class="refentry-description">Check if a variable is constrained to be binary</span></li>
+
+
+
+<li><a href="sym_isContinuous.html" class="refentry">sym_isContinuous</a> &#8212; <span class="refentry-description">Check if a variable is continuous</span></li>
+
+
+
+<li><a href="sym_isEnvActive.html" class="refentry">sym_isEnvActive</a> &#8212; <span class="refentry-description">Check if Symphony environment is active</span></li>
+
+
+
+<li><a href="sym_isInfeasible.html" class="refentry">sym_isInfeasible</a> &#8212; <span class="refentry-description">To check whether the problem was proven to be infeasible.</span></li>
+
+
+
+<li><a href="sym_isInteger.html" class="refentry">sym_isInteger</a> &#8212; <span class="refentry-description">Check if a variable is constrained to be an integer</span></li>
+
+
+
+<li><a href="sym_isIterLimitReached.html" class="refentry">sym_isIterLimitReached</a> &#8212; <span class="refentry-description">To know whether the iteration limit (node limit) was reached.</span></li>
+
+
+
+<li><a href="sym_isOptimal.html" class="refentry">sym_isOptimal</a> &#8212; <span class="refentry-description">To check whether the problem was solved to optimality.</span></li>
+
+
+
+<li><a href="sym_isTargetGapAchieved.html" class="refentry">sym_isTargetGapAchieved</a> &#8212; <span class="refentry-description">To know whether the target gap was reached.</span></li>
+
+
+
+<li><a href="sym_isTimeLimitReached.html" class="refentry">sym_isTimeLimitReached</a> &#8212; <span class="refentry-description">To know whether the time limit was reached.</span></li>
+
+
+
+<li><a href="sym_loadMPS.html" class="refentry">sym_loadMPS</a> &#8212; <span class="refentry-description">This routine is used to load an instance from an MPS file.</span></li>
+
+
+
+<li><a href="sym_loadProblem.html" class="refentry">sym_loadProblem</a> &#8212; <span class="refentry-description">Load a problem into Symphony</span></li>
+
+
+
+<li><a href="sym_loadProblemBasic.html" class="refentry">sym_loadProblemBasic</a> &#8212; <span class="refentry-description">Load a problem into Symphony (basic version)</span></li>
+
+
+
+<li><a href="sym_open.html" class="refentry">sym_open</a> &#8212; <span class="refentry-description">Open the Symphony environment</span></li>
+
+
+
+<li><a href="sym_resetParams.html" class="refentry">sym_resetParams</a> &#8212; <span class="refentry-description">This routine sets all the environment variables and parameters to their default values.</span></li>
+
+
+
+<li><a href="sym_setConstrLower.html" class="refentry">sym_setConstrLower</a> &#8212; <span class="refentry-description">Set the lower bound of a constraint</span></li>
+
+
+
+<li><a href="sym_setConstrType.html" class="refentry">sym_setConstrType</a> &#8212; <span class="refentry-description">Set the type of a constraint</span></li>
+
+
+
+<li><a href="sym_setConstrUpper.html" class="refentry">sym_setConstrUpper</a> &#8212; <span class="refentry-description">Set the upper bound of a constraint</span></li>
+
+
+
+<li><a href="sym_setContinuous.html" class="refentry">sym_setContinuous</a> &#8212; <span class="refentry-description">This routine is used to set the type of a variable to be continuous.</span></li>
+
+
+
+<li><a href="sym_setDblParam.html" class="refentry">sym_setDblParam</a> &#8212; <span class="refentry-description">This routine is used to set a double type parameter.</span></li>
+
+
+
+<li><a href="sym_setIntParam.html" class="refentry">sym_setIntParam</a> &#8212; <span class="refentry-description">This routine is used to set an integer type parameter.</span></li>
+
+
+
+<li><a href="sym_setInteger.html" class="refentry">sym_setInteger</a> &#8212; <span class="refentry-description">This routine is used to set the type of a variable to be integer.</span></li>
+
+
+
+<li><a href="sym_setObjCoeff.html" class="refentry">sym_setObjCoeff</a> &#8212; <span class="refentry-description">Set coefficient of a variable in the objective</span></li>
+
+
+
+<li><a href="sym_setObjSense.html" class="refentry">sym_setObjSense</a> &#8212; <span class="refentry-description">Set the objective sense</span></li>
+
+
+
+<li><a href="sym_setPrimalBound.html" class="refentry">sym_setPrimalBound</a> &#8212; <span class="refentry-description">Set the primal bound of the problem</span></li>
+
+
+
+<li><a href="sym_setStrParam.html" class="refentry">sym_setStrParam</a> &#8212; <span class="refentry-description">This routine is used to set a string type parameter.</span></li>
+
+
+
+<li><a href="sym_setVarLower.html" class="refentry">sym_setVarLower</a> &#8212; <span class="refentry-description">Set lower bound of a variable</span></li>
+
+
+
+<li><a href="sym_setVarSoln.html" class="refentry">sym_setVarSoln</a> &#8212; <span class="refentry-description">Set a solution for the problem</span></li>
+
+
+
+<li><a href="sym_setVarUpper.html" class="refentry">sym_setVarUpper</a> &#8212; <span class="refentry-description">Set upper bound of a variable</span></li>
+
+
+
+<li><a href="sym_solve.html" class="refentry">sym_solve</a> &#8212; <span class="refentry-description">To solve the currently loaded MILP problem from scratch.</span></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="symphonymat.html">&lt;&lt; symphonymat</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_2122a46e06605359e022857633f38a15.html">FOSSEE Optimization Toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/help/en_US/scilab_en_US_help/sym_addConstr.html b/help/en_US/scilab_en_US_help/sym_addConstr.html
index ca681d5..a210836 100644
--- a/help/en_US/scilab_en_US_help/sym_addConstr.html
+++ b/help/en_US/scilab_en_US_help/sym_addConstr.html
@@ -12,11 +12,11 @@
<div class="manualnavbar">
<table width="100%"><tr>
<td width="30%">
- <span class="previous"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">&lt;&lt; Symphony Native Functions</a></span>
+ <span class="previous"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">&lt;&lt; Symphony Native Functions</a></span>
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_addConstr</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_addConstr</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_addConstr</h1>
@@ -73,11 +73,11 @@
<tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
<tr>
<td width="30%">
- <span class="previous"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">&lt;&lt; Symphony Native Functions</a></span>
+ <span class="previous"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">&lt;&lt; Symphony Native Functions</a></span>
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_addVar.html b/help/en_US/scilab_en_US_help/sym_addVar.html
index f74db8c..9d91854 100644
--- a/help/en_US/scilab_en_US_help/sym_addVar.html
+++ b/help/en_US/scilab_en_US_help/sym_addVar.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_addVar</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_addVar</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_addVar</h1>
@@ -79,7 +79,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_close.html b/help/en_US/scilab_en_US_help/sym_close.html
index c21dc6e..1da5faa 100644
--- a/help/en_US/scilab_en_US_help/sym_close.html
+++ b/help/en_US/scilab_en_US_help/sym_close.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_close</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_close</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_close</h1>
@@ -70,7 +70,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_deleteConstrs.html b/help/en_US/scilab_en_US_help/sym_deleteConstrs.html
index 88a7b3d..fb040e6 100644
--- a/help/en_US/scilab_en_US_help/sym_deleteConstrs.html
+++ b/help/en_US/scilab_en_US_help/sym_deleteConstrs.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_deleteConstrs</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_deleteConstrs</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_deleteConstrs</h1>
@@ -67,7 +67,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_deleteVars.html b/help/en_US/scilab_en_US_help/sym_deleteVars.html
index 77aaad6..e6317a6 100644
--- a/help/en_US/scilab_en_US_help/sym_deleteVars.html
+++ b/help/en_US/scilab_en_US_help/sym_deleteVars.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_deleteVars</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_deleteVars</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_deleteVars</h1>
@@ -67,7 +67,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getConstrActivity.html b/help/en_US/scilab_en_US_help/sym_getConstrActivity.html
index cb1cb1c..56e4575 100644
--- a/help/en_US/scilab_en_US_help/sym_getConstrActivity.html
+++ b/help/en_US/scilab_en_US_help/sym_getConstrActivity.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getConstrActivity</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getConstrActivity</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getConstrActivity</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getConstrLower.html b/help/en_US/scilab_en_US_help/sym_getConstrLower.html
index 929471f..a52f308 100644
--- a/help/en_US/scilab_en_US_help/sym_getConstrLower.html
+++ b/help/en_US/scilab_en_US_help/sym_getConstrLower.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getConstrLower</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getConstrLower</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getConstrLower</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getConstrRange.html b/help/en_US/scilab_en_US_help/sym_getConstrRange.html
index 971a9d2..e8a3b61 100644
--- a/help/en_US/scilab_en_US_help/sym_getConstrRange.html
+++ b/help/en_US/scilab_en_US_help/sym_getConstrRange.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getConstrRange</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getConstrRange</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getConstrRange</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getConstrSense.html b/help/en_US/scilab_en_US_help/sym_getConstrSense.html
index 0f49a90..8d01b48 100644
--- a/help/en_US/scilab_en_US_help/sym_getConstrSense.html
+++ b/help/en_US/scilab_en_US_help/sym_getConstrSense.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getConstrSense</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getConstrSense</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getConstrSense</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getConstrUpper.html b/help/en_US/scilab_en_US_help/sym_getConstrUpper.html
index f40b107..2acc1f0 100644
--- a/help/en_US/scilab_en_US_help/sym_getConstrUpper.html
+++ b/help/en_US/scilab_en_US_help/sym_getConstrUpper.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getConstrUpper</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getConstrUpper</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getConstrUpper</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getDblParam.html b/help/en_US/scilab_en_US_help/sym_getDblParam.html
index 3e2d38b..449e918 100644
--- a/help/en_US/scilab_en_US_help/sym_getDblParam.html
+++ b/help/en_US/scilab_en_US_help/sym_getDblParam.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getDblParam</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getDblParam</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getDblParam</h1>
@@ -67,7 +67,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getInfinity.html b/help/en_US/scilab_en_US_help/sym_getInfinity.html
index bef10ab..2522ea5 100644
--- a/help/en_US/scilab_en_US_help/sym_getInfinity.html
+++ b/help/en_US/scilab_en_US_help/sym_getInfinity.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getInfinity</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getInfinity</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getInfinity</h1>
@@ -68,7 +68,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getIntParam.html b/help/en_US/scilab_en_US_help/sym_getIntParam.html
index 4fed98a..dbac8e6 100644
--- a/help/en_US/scilab_en_US_help/sym_getIntParam.html
+++ b/help/en_US/scilab_en_US_help/sym_getIntParam.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getIntParam</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getIntParam</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getIntParam</h1>
@@ -67,7 +67,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getIterCount.html b/help/en_US/scilab_en_US_help/sym_getIterCount.html
index 9b2775d..dd277d2 100644
--- a/help/en_US/scilab_en_US_help/sym_getIterCount.html
+++ b/help/en_US/scilab_en_US_help/sym_getIterCount.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getIterCount</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getIterCount</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getIterCount</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getMatrix.html b/help/en_US/scilab_en_US_help/sym_getMatrix.html
index 60a81e1..c61aae2 100644
--- a/help/en_US/scilab_en_US_help/sym_getMatrix.html
+++ b/help/en_US/scilab_en_US_help/sym_getMatrix.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getMatrix</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getMatrix</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getMatrix</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getNumConstr.html b/help/en_US/scilab_en_US_help/sym_getNumConstr.html
index 55187b3..8954e19 100644
--- a/help/en_US/scilab_en_US_help/sym_getNumConstr.html
+++ b/help/en_US/scilab_en_US_help/sym_getNumConstr.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getNumConstr</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getNumConstr</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getNumConstr</h1>
@@ -68,7 +68,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getNumElements.html b/help/en_US/scilab_en_US_help/sym_getNumElements.html
index 5d3d4a2..07cddc7 100644
--- a/help/en_US/scilab_en_US_help/sym_getNumElements.html
+++ b/help/en_US/scilab_en_US_help/sym_getNumElements.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getNumElements</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getNumElements</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getNumElements</h1>
@@ -68,7 +68,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getNumVar.html b/help/en_US/scilab_en_US_help/sym_getNumVar.html
index 8c4d1b7..7043edb 100644
--- a/help/en_US/scilab_en_US_help/sym_getNumVar.html
+++ b/help/en_US/scilab_en_US_help/sym_getNumVar.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getNumVar</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getNumVar</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getNumVar</h1>
@@ -68,7 +68,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getObjCoeff.html b/help/en_US/scilab_en_US_help/sym_getObjCoeff.html
index 61d0a50..8b196c1 100644
--- a/help/en_US/scilab_en_US_help/sym_getObjCoeff.html
+++ b/help/en_US/scilab_en_US_help/sym_getObjCoeff.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getObjCoeff</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getObjCoeff</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getObjCoeff</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getObjSense.html b/help/en_US/scilab_en_US_help/sym_getObjSense.html
index 9d238be..0442b7a 100644
--- a/help/en_US/scilab_en_US_help/sym_getObjSense.html
+++ b/help/en_US/scilab_en_US_help/sym_getObjSense.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getObjSense</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getObjSense</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getObjSense</h1>
@@ -68,7 +68,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getObjVal.html b/help/en_US/scilab_en_US_help/sym_getObjVal.html
index f2c42e7..4d1d2d1 100644
--- a/help/en_US/scilab_en_US_help/sym_getObjVal.html
+++ b/help/en_US/scilab_en_US_help/sym_getObjVal.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getObjVal</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getObjVal</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getObjVal</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getPrimalBound.html b/help/en_US/scilab_en_US_help/sym_getPrimalBound.html
index 20b8703..dca728e 100644
--- a/help/en_US/scilab_en_US_help/sym_getPrimalBound.html
+++ b/help/en_US/scilab_en_US_help/sym_getPrimalBound.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getPrimalBound</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getPrimalBound</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getPrimalBound</h1>
@@ -68,7 +68,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getRhs.html b/help/en_US/scilab_en_US_help/sym_getRhs.html
index e0a856b..6fce5ca 100644
--- a/help/en_US/scilab_en_US_help/sym_getRhs.html
+++ b/help/en_US/scilab_en_US_help/sym_getRhs.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getRhs</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getRhs</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getRhs</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getStatus.html b/help/en_US/scilab_en_US_help/sym_getStatus.html
index c86bef7..1aada99 100644
--- a/help/en_US/scilab_en_US_help/sym_getStatus.html
+++ b/help/en_US/scilab_en_US_help/sym_getStatus.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getStatus</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getStatus</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getStatus</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getStrParam.html b/help/en_US/scilab_en_US_help/sym_getStrParam.html
index 1d1c6f8..79280ce 100644
--- a/help/en_US/scilab_en_US_help/sym_getStrParam.html
+++ b/help/en_US/scilab_en_US_help/sym_getStrParam.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getStrParam</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getStrParam</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getStrParam</h1>
@@ -67,7 +67,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getVarLower.html b/help/en_US/scilab_en_US_help/sym_getVarLower.html
index 1027813..292180b 100644
--- a/help/en_US/scilab_en_US_help/sym_getVarLower.html
+++ b/help/en_US/scilab_en_US_help/sym_getVarLower.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getVarLower</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getVarLower</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getVarLower</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getVarSoln.html b/help/en_US/scilab_en_US_help/sym_getVarSoln.html
index e11f68e..2fb84c7 100644
--- a/help/en_US/scilab_en_US_help/sym_getVarSoln.html
+++ b/help/en_US/scilab_en_US_help/sym_getVarSoln.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getVarSoln</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getVarSoln</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getVarSoln</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_getVarUpper.html b/help/en_US/scilab_en_US_help/sym_getVarUpper.html
index 9125c66..89e2d82 100644
--- a/help/en_US/scilab_en_US_help/sym_getVarUpper.html
+++ b/help/en_US/scilab_en_US_help/sym_getVarUpper.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_getVarUpper</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_getVarUpper</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_getVarUpper</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_isAbandoned.html b/help/en_US/scilab_en_US_help/sym_isAbandoned.html
index fa75c3e..699cdea 100644
--- a/help/en_US/scilab_en_US_help/sym_isAbandoned.html
+++ b/help/en_US/scilab_en_US_help/sym_isAbandoned.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_isAbandoned</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_isAbandoned</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_isAbandoned</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_isBinary.html b/help/en_US/scilab_en_US_help/sym_isBinary.html
index 946ec7e..4dad739 100644
--- a/help/en_US/scilab_en_US_help/sym_isBinary.html
+++ b/help/en_US/scilab_en_US_help/sym_isBinary.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_isBinary</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_isBinary</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_isBinary</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_isContinuous.html b/help/en_US/scilab_en_US_help/sym_isContinuous.html
index 1ba5429..5a5bfa9 100644
--- a/help/en_US/scilab_en_US_help/sym_isContinuous.html
+++ b/help/en_US/scilab_en_US_help/sym_isContinuous.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_isContinuous</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_isContinuous</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_isContinuous</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_isEnvActive.html b/help/en_US/scilab_en_US_help/sym_isEnvActive.html
index e80859d..9a05f88 100644
--- a/help/en_US/scilab_en_US_help/sym_isEnvActive.html
+++ b/help/en_US/scilab_en_US_help/sym_isEnvActive.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_isEnvActive</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_isEnvActive</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_isEnvActive</h1>
@@ -68,7 +68,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_isInfeasible.html b/help/en_US/scilab_en_US_help/sym_isInfeasible.html
index f657cca..14f4a7c 100644
--- a/help/en_US/scilab_en_US_help/sym_isInfeasible.html
+++ b/help/en_US/scilab_en_US_help/sym_isInfeasible.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_isInfeasible</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_isInfeasible</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_isInfeasible</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_isInteger.html b/help/en_US/scilab_en_US_help/sym_isInteger.html
index 31c9707..5552613 100644
--- a/help/en_US/scilab_en_US_help/sym_isInteger.html
+++ b/help/en_US/scilab_en_US_help/sym_isInteger.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_isInteger</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_isInteger</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_isInteger</h1>
@@ -63,7 +63,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_isIterLimitReached.html b/help/en_US/scilab_en_US_help/sym_isIterLimitReached.html
index d10bf5b..6796407 100644
--- a/help/en_US/scilab_en_US_help/sym_isIterLimitReached.html
+++ b/help/en_US/scilab_en_US_help/sym_isIterLimitReached.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_isIterLimitReached</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_isIterLimitReached</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_isIterLimitReached</h1>
@@ -70,7 +70,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_isOptimal.html b/help/en_US/scilab_en_US_help/sym_isOptimal.html
index 9db45b0..cefc563 100644
--- a/help/en_US/scilab_en_US_help/sym_isOptimal.html
+++ b/help/en_US/scilab_en_US_help/sym_isOptimal.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_isOptimal</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_isOptimal</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_isOptimal</h1>
@@ -70,7 +70,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_isTargetGapAchieved.html b/help/en_US/scilab_en_US_help/sym_isTargetGapAchieved.html
index 1f24750..8f00f6b 100644
--- a/help/en_US/scilab_en_US_help/sym_isTargetGapAchieved.html
+++ b/help/en_US/scilab_en_US_help/sym_isTargetGapAchieved.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_isTargetGapAchieved</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_isTargetGapAchieved</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_isTargetGapAchieved</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_isTimeLimitReached.html b/help/en_US/scilab_en_US_help/sym_isTimeLimitReached.html
index bac9d72..a17ee68 100644
--- a/help/en_US/scilab_en_US_help/sym_isTimeLimitReached.html
+++ b/help/en_US/scilab_en_US_help/sym_isTimeLimitReached.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_isTimeLimitReached</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_isTimeLimitReached</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_isTimeLimitReached</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_loadMPS.html b/help/en_US/scilab_en_US_help/sym_loadMPS.html
index 40920b0..fcfc6d7 100644
--- a/help/en_US/scilab_en_US_help/sym_loadMPS.html
+++ b/help/en_US/scilab_en_US_help/sym_loadMPS.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_loadMPS</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_loadMPS</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_loadMPS</h1>
@@ -68,7 +68,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_loadProblem.html b/help/en_US/scilab_en_US_help/sym_loadProblem.html
index 51ef7a1..63ea934 100644
--- a/help/en_US/scilab_en_US_help/sym_loadProblem.html
+++ b/help/en_US/scilab_en_US_help/sym_loadProblem.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_loadProblem</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_loadProblem</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_loadProblem</h1>
@@ -88,7 +88,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_loadProblemBasic.html b/help/en_US/scilab_en_US_help/sym_loadProblemBasic.html
index be22b57..40e106e 100644
--- a/help/en_US/scilab_en_US_help/sym_loadProblemBasic.html
+++ b/help/en_US/scilab_en_US_help/sym_loadProblemBasic.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_loadProblemBasic</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_loadProblemBasic</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_loadProblemBasic</h1>
@@ -89,7 +89,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_open.html b/help/en_US/scilab_en_US_help/sym_open.html
index 05eb30a..cbc7836 100644
--- a/help/en_US/scilab_en_US_help/sym_open.html
+++ b/help/en_US/scilab_en_US_help/sym_open.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_open</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_open</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_open</h1>
@@ -70,7 +70,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_resetParams.html b/help/en_US/scilab_en_US_help/sym_resetParams.html
index 60e9a7f..55d9bb9 100644
--- a/help/en_US/scilab_en_US_help/sym_resetParams.html
+++ b/help/en_US/scilab_en_US_help/sym_resetParams.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_resetParams</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_resetParams</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_resetParams</h1>
@@ -66,7 +66,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_setConstrLower.html b/help/en_US/scilab_en_US_help/sym_setConstrLower.html
index 5821391..86d6f6f 100644
--- a/help/en_US/scilab_en_US_help/sym_setConstrLower.html
+++ b/help/en_US/scilab_en_US_help/sym_setConstrLower.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_setConstrLower</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_setConstrLower</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_setConstrLower</h1>
@@ -71,7 +71,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_setConstrType.html b/help/en_US/scilab_en_US_help/sym_setConstrType.html
index e10c1b7..89eae4d 100644
--- a/help/en_US/scilab_en_US_help/sym_setConstrType.html
+++ b/help/en_US/scilab_en_US_help/sym_setConstrType.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_setConstrType</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_setConstrType</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_setConstrType</h1>
@@ -77,7 +77,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_setConstrUpper.html b/help/en_US/scilab_en_US_help/sym_setConstrUpper.html
index 327360c..9332a13 100644
--- a/help/en_US/scilab_en_US_help/sym_setConstrUpper.html
+++ b/help/en_US/scilab_en_US_help/sym_setConstrUpper.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_setConstrUpper</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_setConstrUpper</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_setConstrUpper</h1>
@@ -71,7 +71,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_setContinuous.html b/help/en_US/scilab_en_US_help/sym_setContinuous.html
index 260c828..78a9565 100644
--- a/help/en_US/scilab_en_US_help/sym_setContinuous.html
+++ b/help/en_US/scilab_en_US_help/sym_setContinuous.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_setContinuous</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_setContinuous</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_setContinuous</h1>
@@ -67,7 +67,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_setDblParam.html b/help/en_US/scilab_en_US_help/sym_setDblParam.html
index 79bea38..45edee5 100644
--- a/help/en_US/scilab_en_US_help/sym_setDblParam.html
+++ b/help/en_US/scilab_en_US_help/sym_setDblParam.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_setDblParam</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_setDblParam</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_setDblParam</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_setIntParam.html b/help/en_US/scilab_en_US_help/sym_setIntParam.html
index 085cd2d..852b5c9 100644
--- a/help/en_US/scilab_en_US_help/sym_setIntParam.html
+++ b/help/en_US/scilab_en_US_help/sym_setIntParam.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_setIntParam</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_setIntParam</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_setIntParam</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_setInteger.html b/help/en_US/scilab_en_US_help/sym_setInteger.html
index 9ace0fa..f8e3859 100644
--- a/help/en_US/scilab_en_US_help/sym_setInteger.html
+++ b/help/en_US/scilab_en_US_help/sym_setInteger.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_setInteger</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_setInteger</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_setInteger</h1>
@@ -67,7 +67,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_setObjCoeff.html b/help/en_US/scilab_en_US_help/sym_setObjCoeff.html
index 8bb0771..93f87ba 100644
--- a/help/en_US/scilab_en_US_help/sym_setObjCoeff.html
+++ b/help/en_US/scilab_en_US_help/sym_setObjCoeff.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_setObjCoeff</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_setObjCoeff</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_setObjCoeff</h1>
@@ -71,7 +71,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_setObjSense.html b/help/en_US/scilab_en_US_help/sym_setObjSense.html
index a85340e..e296d97 100644
--- a/help/en_US/scilab_en_US_help/sym_setObjSense.html
+++ b/help/en_US/scilab_en_US_help/sym_setObjSense.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_setObjSense</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_setObjSense</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_setObjSense</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_setPrimalBound.html b/help/en_US/scilab_en_US_help/sym_setPrimalBound.html
index 4e5fda2..b6786d3 100644
--- a/help/en_US/scilab_en_US_help/sym_setPrimalBound.html
+++ b/help/en_US/scilab_en_US_help/sym_setPrimalBound.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_setPrimalBound</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_setPrimalBound</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_setPrimalBound</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_setStrParam.html b/help/en_US/scilab_en_US_help/sym_setStrParam.html
index 2b5ff96..eecf5af 100644
--- a/help/en_US/scilab_en_US_help/sym_setStrParam.html
+++ b/help/en_US/scilab_en_US_help/sym_setStrParam.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_setStrParam</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_setStrParam</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_setStrParam</h1>
@@ -69,7 +69,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_setVarLower.html b/help/en_US/scilab_en_US_help/sym_setVarLower.html
index 7d24dfe..ad3f9fb 100644
--- a/help/en_US/scilab_en_US_help/sym_setVarLower.html
+++ b/help/en_US/scilab_en_US_help/sym_setVarLower.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_setVarLower</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_setVarLower</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_setVarLower</h1>
@@ -71,7 +71,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_setVarSoln.html b/help/en_US/scilab_en_US_help/sym_setVarSoln.html
index f70f048..072b103 100644
--- a/help/en_US/scilab_en_US_help/sym_setVarSoln.html
+++ b/help/en_US/scilab_en_US_help/sym_setVarSoln.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_setVarSoln</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_setVarSoln</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_setVarSoln</h1>
@@ -70,7 +70,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_setVarUpper.html b/help/en_US/scilab_en_US_help/sym_setVarUpper.html
index 40bf06d..3c89ae5 100644
--- a/help/en_US/scilab_en_US_help/sym_setVarUpper.html
+++ b/help/en_US/scilab_en_US_help/sym_setVarUpper.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_setVarUpper</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_setVarUpper</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_setVarUpper</h1>
@@ -71,7 +71,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/sym_solve.html b/help/en_US/scilab_en_US_help/sym_solve.html
index 1d603f5..b5ebe94 100644
--- a/help/en_US/scilab_en_US_help/sym_solve.html
+++ b/help/en_US/scilab_en_US_help/sym_solve.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
@@ -28,7 +28,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a> &gt; sym_solve</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; <a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a> &gt; sym_solve</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">sym_solve</h1>
@@ -68,7 +68,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions</a></span>
+ <span class="top"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/symphony.html b/help/en_US/scilab_en_US_help/symphony.html
index 4b7eaba..7f699cc 100644
--- a/help/en_US/scilab_en_US_help/symphony.html
+++ b/help/en_US/scilab_en_US_help/symphony.html
@@ -16,7 +16,7 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; symphony</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; symphony</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">symphony</h1>
@@ -42,54 +42,67 @@
<span class="default">xopt</span><span class="default"> = </span><span class="functionid">symphony</span><span class="default">(</span><span class="default">nbVar</span><span class="default">,</span><span class="default">nbCon</span><span class="default">,</span><span class="default">c</span><span class="default">,</span><span class="default">isInt</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">conLB</span><span class="default">,</span><span class="default">conUB</span><span class="default">,</span><span class="default">objSense</span><span class="default">,</span><span class="default">options</span><span class="default">)</span>
<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">status</span><span class="default">,</span><span class="default">output</span><span class="default">] = </span><span class="functionid">symphony</span><span class="default">( ... )</span></pre></div></div>
-<div class="refsection"><h3 class="title">Parameters</h3>
+<div class="refsection"><h3 class="title">Input Parameters</h3>
<dl><dt><span class="term">nbVar :</span>
- <dd><p class="para">a double, number of variables.</p></dd></dt>
+ <dd><p class="para">A double, representing the number of variables.</p></dd></dt>
<dt><span class="term">nbCon :</span>
- <dd><p class="para">a double, number of constraints.</p></dd></dt>
+ <dd><p class="para">A double, representing the number of constraints.</p></dd></dt>
<dt><span class="term">c :</span>
- <dd><p class="para">a vector of double, represents coefficients of the variables in the objective.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, representing the coefficients of the variables in the objective.</p></dd></dt>
<dt><span class="term">isInt :</span>
- <dd><p class="para">a vector of boolean, represents wether a variable is constrained to be an integer.</p></dd></dt>
+ <dd><p class="para">A vector of booleans, representing whether a variable is constrained to be an integer.</p></dd></dt>
<dt><span class="term">lb :</span>
- <dd><p class="para">a vector of double, represents lower bounds of the variables.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the lower bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">ub :</span>
- <dd><p class="para">a vector of double, represents upper bounds of the variables.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the upper bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">A :</span>
- <dd><p class="para">a matrix of double, represents matrix representing the constraint matrix conLB ≤ A⋅x ≤ conUB.</p></dd></dt>
+ <dd><p class="para">A matrix of double, representing the constraint matrix in conLB ≤ A⋅x ≤ conUB.</p></dd></dt>
<dt><span class="term">conLB :</span>
- <dd><p class="para">a vector of double, represents lower bounds of the constraints conLB ≤ A⋅x ≤ conUB.</p></dd></dt>
+ <dd><p class="para">A vector of double, representing the lower bounds of the constraints conLB ≤ A⋅x ≤ conUB.</p></dd></dt>
<dt><span class="term">conUB :</span>
- <dd><p class="para">a vector of double, represents upper bounds of the constraints conLB ≤ A⋅x ≤ conUB.</p></dd></dt>
+ <dd><p class="para">A vector of double, representing the upper bounds of the constraints conLB ≤ A⋅x ≤ conUB.</p></dd></dt>
<dt><span class="term">objSense :</span>
<dd><p class="para">The sense (maximization/minimization) of the objective. Use 1(sym_minimize ) or -1 (sym_maximize) here.</p></dd></dt>
<dt><span class="term">options :</span>
- <dd><p class="para">a list containing the parameters to be set.</p></dd></dt>
- <dt><span class="term">xopt :</span>
- <dd><p class="para">a vector of double, the computed solution of the optimization problem.</p></dd></dt>
+ <dd><p class="para">A list, containing the option for user to specify. See below for details.</p></dd></dt></dl></div>
+<div class="refsection"><h3 class="title">Outputs</h3>
+ <dl><dt><span class="term">xopt :</span>
+ <dd><p class="para">A vector of doubles, containing the computed solution of the optimization problem.</p></dd></dt>
<dt><span class="term">fopt :</span>
- <dd><p class="para">a double, the value of the function at x.</p></dd></dt>
- <dt><span class="term">status :</span>
- <dd><p class="para">status flag returned from symphony.See below for details.</p></dd></dt>
+ <dd><p class="para">A double, containing the value of the function at x.</p></dd></dt>
+ <dt><span class="term">status :</span>
+ <dd><p class="para">The status flag returned from symphony. See below for details.</p></dd></dt>
<dt><span class="term">output :</span>
- <dd><p class="para">The output data structure contains detailed information about the optimization process. See below for details.</p></dd></dt></dl></div>
+ <dd><p class="para">A structure, containing the information about the optimization. See below for details.</p></dd></dt></dl></div>
<div class="refsection"><h3 class="title">Description</h3>
- <p class="para">Search the minimum or maximum of a constrained mixed integer linear programming optimization problem specified by :</p>
- <p class="para"><span><img src='./_LaTeX_symphony.xml_1.png' style='position:relative;top:41px;width:292px;height:90px'/></span></p>
- <p class="para">The routine calls SYMPHONY written in C by gateway files for the actual computation.</p>
- <p class="para">The status allows to know the status of the optimization which is given back by Ipopt.
-<ul class="itemizedlist"><li>status=227 : Optimal Solution Found</li>
-<li>status=228 : Maximum CPU Time exceeded.</li>
-<li>status=229 : Maximum Number of Node Limit Exceeded.</li>
-<li>status=230 : Maximum Number of Iterations Limit Exceeded.</li></ul></p>
- <p class="para">For more details on status see the symphony documentation, go to http://www.coin-or.org/SYMPHONY/man-5.6/</p>
- <p class="para">The output data structure contains detailed informations about the optimization process.
-It has type &#0034;struct&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>output.iterations: The number of iterations performed during the search</li></ul></p>
+ <p class="para">Search the minimum or maximum of a constrained mixed integer linear programming optimization problem specified by:</p>
+ <p class="para"><span><img src='./_LaTeX_symphony.xml_1.png' style='position:relative;top:51px;width:184px;height:110px'/></span></p>
+ <p class="para">The routine calls SYMPHONY, a solver for mixed-integer linear programs written in C, for the actual computation.</p>
+ <p class="para"><h3 class="title">Options</h3>
+The options should be defined as type &#0034;list&#0034; and consist of over a hundred fields, the most important ones of which have been detailed here:</p>
+ <p class="para"><ul class="itemizedlist"><li>node_limit : A scalar, specifying the max. number of nodes allowed to be analyzed during the solution.</li>
+ <li>time_limit : A scalar, specifying the maximum amount of CPU time in seconds that the solver should take.</li>
+ <li>gap_limit : A scalar, representing the target gap limit allowed for solution.</li>
+<li>granularity : A scalar, “the minimum difference between two distinct objective function values</li>
+
+<li>node_selection_rule : A Scalar, specifying the maximum number of iterations that the solver should take.</li>
+<li>prep_level : An integer, that determines the level of preprocessing that should be done on the current MILP instance.</li>
+<li>do_branch_and_cut : A boolean, representing the decision whether to run the branch and cut algorithm or not.</li></ul></p>
+ <p class="para">The status allows the user to know the status of the optimization which is returned by Symphony. The values it can take and what they indicate is described below:
+<ul class="itemizedlist"><li>227 : Optimal Solution Found</li>
+<li>228 : Maximum CPU Time exceeded.</li>
+<li>229 : Maximum Number of Node Limit Exceeded.</li>
+<li>230 : Maximum Number of Iterations Limit Exceeded.</li></ul></p>
+ <p class="para">For more details on the status, see the symphony documentation which can be found on http://www.coin-or.org/SYMPHONY/man-5.6/</p>
+ <p class="para">The output data structure contains detailed information about the optimization process.
+It is of type &#0034;struct&#0034; and contains the following fields.
+<ul class="itemizedlist"><li>output.iterations: The number of iterations performed.</li></ul></p>
<p class="para"></p></div>
-<div class="refsection"><h3 class="title">Examples</h3>
+<p class="para">A few examples displaying the various functionalities of symphony have been provided below. You will find a series of problems and the appropriate code snippets to solve them.</p>
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para"><span><img src='./_LaTeX_symphony.xml_2.png' style='position:relative;top:27px;width:580px;height:292px'/></span></p>
<div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Reference: Westerberg, Carl-Henrik, Bengt Bjorklund, and Eskil Hultman. </span><span class="scilabcomment">&#0034;</span><span class="scilabcomment">An application of mixed integer programming in a Swedish steel mill.</span><span class="scilabcomment">&#0034;</span><span class="scilabcomment"> Interfaces 7, no. 2 (1977): 39-43.</span>
<span class="scilabcomment">// Objective function</span>
<span class="scilabid">c</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">350</span><span class="scilaboperator">*</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">330</span><span class="scilaboperator">*</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">310</span><span class="scilaboperator">*</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">280</span><span class="scilaboperator">*</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">500</span><span class="scilabdefault">,</span><span class="scilabnumber">450</span><span class="scilabdefault">,</span><span class="scilabnumber">400</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span><span class="scilabdefault">;</span>
@@ -109,12 +122,43 @@ It has type &#0034;struct&#0034; and contains the following fields.
<span class="scilabid">isInt</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabconstants">%t</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabconstants">%f</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabid">xopt</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">7.25</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0.25</span> <span class="scilabnumber">3.5</span><span class="scilabopenclose">]</span>
<span class="scilabid">fopt</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">8495</span><span class="scilabopenclose">]</span>
+<span class="scilabid">options</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">time_limit</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabnumber">25</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Calling Symphony</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">status</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">symphony</span><span class="scilabopenclose">(</span><span class="scilabnumber">8</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabid">c</span><span class="scilabdefault">,</span><span class="scilabid">isInt</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">conlb</span><span class="scilabdefault">,</span><span class="scilabid">conub</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Here we provide the sense (maximization/minimization) of the objective and show how we can further enhance the functionality of symphony by setting input options. This provides us with the ability to control the solver parameters such as the maximum number of solver iterations and the max. CPU time allowed for the computation.</p>
+<p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Reference: Westerberg, Carl-Henrik, Bengt Bjorklund, and Eskil Hultman. </span><span class="scilabcomment">&#0034;</span><span class="scilabcomment">An application of mixed integer programming in a Swedish steel mill.</span><span class="scilabcomment">&#0034;</span><span class="scilabcomment"> Interfaces 7, no. 2 (1977): 39-43.</span>
+<span class="scilabcomment">// Objective function</span>
+<span class="scilabid">c</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">350</span><span class="scilaboperator">*</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">330</span><span class="scilaboperator">*</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">310</span><span class="scilaboperator">*</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">280</span><span class="scilaboperator">*</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">500</span><span class="scilabdefault">,</span><span class="scilabnumber">450</span><span class="scilabdefault">,</span><span class="scilabnumber">400</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Lower Bound of variable</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">8</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Upper Bound of variables</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span><a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabconstants">%inf</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Constraint Matrix</span>
+<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">5</span><span class="scilaboperator">*</span><span class="scilabnumber">0.05</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabnumber">0.04</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilaboperator">*</span><span class="scilabnumber">0.05</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilaboperator">*</span><span class="scilabnumber">0.03</span><span class="scilabdefault">,</span><span class="scilabnumber">0.08</span><span class="scilabdefault">,</span><span class="scilabnumber">0.07</span><span class="scilabdefault">,</span><span class="scilabnumber">0.06</span><span class="scilabdefault">,</span><span class="scilabnumber">0.03</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">5</span><span class="scilaboperator">*</span><span class="scilabnumber">0.03</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabnumber">0.03</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilaboperator">*</span><span class="scilabnumber">0.04</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilaboperator">*</span><span class="scilabnumber">0.04</span><span class="scilabdefault">,</span><span class="scilabnumber">0.06</span><span class="scilabdefault">,</span><span class="scilabnumber">0.07</span><span class="scilabdefault">,</span><span class="scilabnumber">0.08</span><span class="scilabdefault">,</span><span class="scilabnumber">0.09</span><span class="scilabdefault">;</span><span class="scilabopenclose">]</span>
+<span class="scilabcomment">// Lower Bound of constraints</span>
+<span class="scilabid">conlb</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span> <span class="scilabnumber">25</span><span class="scilabdefault">;</span> <span class="scilabnumber">1.25</span><span class="scilabdefault">;</span> <span class="scilabnumber">1.25</span><span class="scilabopenclose">]</span>
+<span class="scilabcomment">// Upper Bound of constraints</span>
+<span class="scilabid">conub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span> <span class="scilabnumber">25</span><span class="scilabdefault">;</span> <span class="scilabnumber">1.25</span><span class="scilabdefault">;</span> <span class="scilabnumber">1.25</span><span class="scilabopenclose">]</span>
+<span class="scilabcomment">// Row Matrix for telling symphony that the is integer or not</span>
+<span class="scilabid">isInt</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabconstants">%t</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabconstants">%f</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">xopt</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">7.25</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0.25</span> <span class="scilabnumber">3.5</span><span class="scilabopenclose">]</span>
+<span class="scilabid">fopt</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">8495</span><span class="scilabopenclose">]</span>
+<span class="scilabid">options</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">time_limit</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabnumber">25</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
<span class="scilabcomment">// Calling Symphony</span>
-<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">status</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">symphony</span><span class="scilabopenclose">(</span><span class="scilabnumber">8</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabid">c</span><span class="scilabdefault">,</span><span class="scilabid">isInt</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">conlb</span><span class="scilabdefault">,</span><span class="scilabid">conub</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">status</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">symphony</span><span class="scilabopenclose">(</span><span class="scilabnumber">8</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabid">c</span><span class="scilabdefault">,</span><span class="scilabid">isInt</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">conlb</span><span class="scilabdefault">,</span><span class="scilabid">conub</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// An advanced case where we set some options in symphony</span>
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">An advanced example for Symphony.</p>
+ <p class="para"><span><img src='./_LaTeX_symphony.xml_3.png' style='position:relative;top:9px;width:248px;height:145px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// Example 3:</span>
<span class="scilabcomment">// This problem is taken from</span>
<span class="scilabcomment">// P.C.Chu and J.E.Beasley</span>
<span class="scilabcomment">// </span><span class="scilabcomment">&#0034;</span><span class="scilabcomment">A genetic algorithm for the multidimensional knapsack problem</span><span class="scilabcomment">&#0034;</span><span class="scilabcomment">,</span>
@@ -210,7 +254,7 @@ It has type &#0034;struct&#0034; and contains the following fields.
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
diff --git a/help/en_US/scilab_en_US_help/symphonymat.html b/help/en_US/scilab_en_US_help/symphonymat.html
index 58e5070..4e68eda 100644
--- a/help/en_US/scilab_en_US_help/symphonymat.html
+++ b/help/en_US/scilab_en_US_help/symphonymat.html
@@ -16,11 +16,11 @@
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
- <span class="next"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions &gt;&gt;</a></span>
+ <span class="next"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions &gt;&gt;</a></span>
</td>
</tr></table>
@@ -29,7 +29,7 @@
- <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> &gt; symphonymat</span>
+ <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> &gt;&gt; <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> &gt; symphonymat</span>
<br /><br />
<div class="refnamediv"><h1 class="refname">symphonymat</h1>
@@ -43,148 +43,204 @@
<span class="default">xopt</span><span class="default"> = </span><span class="functionid">symphonymat</span><span class="default">(</span><span class="default">c</span><span class="default">,</span><span class="default">intcon</span><span class="default">,</span><span class="default">A</span><span class="default">,</span><span class="default">b</span><span class="default">,</span><span class="default">Aeq</span><span class="default">,</span><span class="default">beq</span><span class="default">,</span><span class="default">lb</span><span class="default">,</span><span class="default">ub</span><span class="default">,</span><span class="default">options</span><span class="default">)</span>
<span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">status</span><span class="default">,</span><span class="default">output</span><span class="default">] = </span><span class="functionid">symphonymat</span><span class="default">( ... )</span></pre></div></div>
-<div class="refsection"><h3 class="title">Parameters</h3>
+<div class="refsection"><h3 class="title">Input Parameters</h3>
<dl><dt><span class="term">c :</span>
- <dd><p class="para">a vector of double, contains coefficients of the variables in the objective</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the coefficients of the variables in the objective function.</p></dd></dt>
<dt><span class="term">intcon :</span>
- <dd><p class="para">Vector of integer constraints, specified as a vector of positive integers. The values in intcon indicate the components of the decision variable x that are integer-valued. intcon has values from 1 through number of variable.</p></dd></dt>
+ <dd><p class="para">A vector of integer constraints, specified as a vector of positive integers. The values in intcon indicate the components of the decision variable x that are integer-valued. intcon has values from 1 to n where n is the number of variable.</p></dd></dt>
<dt><span class="term">A :</span>
- <dd><p class="para">a matrix of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.</p></dd></dt>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear inequality constraints of size (m X n) where &#0039;m&#0039; is the number of linear inequality constraints.</p></dd></dt>
<dt><span class="term">b :</span>
- <dd><p class="para">a vector of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, related to &#0039;A&#0039; and represents the linear coefficients in the linear inequality constraints of size (m X 1).</p></dd></dt>
<dt><span class="term">Aeq :</span>
- <dd><p class="para">a matrix of double, represents the linear coefficients in the equality constraints Aeqâ‹…x = beq.</p></dd></dt>
+ <dd><p class="para">A matrix of doubles, containing the coefficients of linear equality constraints of size (m1 X n) where &#0039;m1&#0039; is the number of linear equality constraints.</p></dd></dt>
<dt><span class="term">beq :</span>
- <dd><p class="para">a vector of double, represents the linear coefficients in the equality constraints Aeqâ‹…x = beq.</p></dd></dt>
+ <dd><p class="para">A vector of double, vector of doubles, related to &#0039;Aeq&#0039; and represents the linear coefficients in the equality constraints of size (m1 X 1).</p></dd></dt>
<dt><span class="term">lb :</span>
- <dd><p class="para">Lower bounds, specified as a vector or array of double. lb represents the lower bounds elementwise in lb ≤ x ≤ ub.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the lower bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">ub :</span>
- <dd><p class="para">Upper bounds, specified as a vector or array of double. ub represents the upper bounds elementwise in lb ≤ x ≤ ub.</p></dd></dt>
+ <dd><p class="para">A vector of doubles, containing the upper bounds of the variables of size (1 X n) or (n X 1) where &#0039;n&#0039; is the number of variables.</p></dd></dt>
<dt><span class="term">options :</span>
- <dd><p class="para">a list containing the parameters to be set.</p></dd></dt>
- <dt><span class="term">xopt :</span>
- <dd><p class="para">a vector of double, the computed solution of the optimization problem.</p></dd></dt>
+ <dd><p class="para">A list, containing the option for user to specify. See below for details.</p></dd></dt></dl></div>
+<div class="refsection"><h3 class="title">Outputs</h3>
+ <dl><dt><span class="term">xopt :</span>
+ <dd><p class="para">A vector of doubles, containing the computed solution of the optimization problem.</p></dd></dt>
<dt><span class="term">fopt :</span>
- <dd><p class="para">a double, the value of the function at x.</p></dd></dt>
+ <dd><p class="para">A double, containing the value of the function at x.</p></dd></dt>
<dt><span class="term">status :</span>
- <dd><p class="para">status flag returned from symphony. See below for details.</p></dd></dt>
+ <dd><p class="para">The status flag returned from symphony. See below for details.</p></dd></dt>
<dt><span class="term">output :</span>
- <dd><p class="para">The output data structure contains detailed information about the optimization process. See below for details.</p></dd></dt></dl></div>
+ <dd><p class="para">A structure, containing the information about the optimization. See below for details.</p></dd></dt></dl></div>
<div class="refsection"><h3 class="title">Description</h3>
<p class="para">Search the minimum or maximum of a constrained mixed integer linear programming optimization problem specified by :</p>
- <p class="para"><span><img src='./_LaTeX_symphonymat.xml_1.png' style='position:relative;top:51px;width:212px;height:110px'/></span></p>
- <p class="para">The routine calls SYMPHONY written in C by gateway files for the actual computation.</p>
- <p class="para">The status allows to know the status of the optimization which is given back by Ipopt.
-<ul class="itemizedlist"><li>status=227 : Optimal Solution Found</li>
-<li>status=228 : Maximum CPU Time exceeded.</li>
-<li>status=229 : Maximum Number of Node Limit Exceeded.</li>
-<li>status=230 : Maximum Number of Iterations Limit Exceeded.</li></ul></p>
- <p class="para">For more details on status see the symphony documentation, go to http://www.coin-or.org/SYMPHONY/man-5.6/</p>
- <p class="para">The output data structure contains detailed informations about the optimization process.
-It has type &#0034;struct&#0034; and contains the following fields.
-<ul class="itemizedlist"><li>output.iterations: The number of iterations performed during the search</li></ul></p>
+ <p class="para"><span><img src='./_LaTeX_symphonymat.xml_1.png' style='position:relative;top:51px;width:189px;height:110px'/></span></p>
+ <p class="para">The routine calls SYMPHONY, a solver for mixed-integer linear programs written in C, for the actual computation.</p>
+ <p class="para"><h3 class="title">Options</h3>
+The options should be defined as type &#0034;list&#0034; and consist of over a hundred fields, the most important ones of which have been detailed here:</p>
+ <p class="para"><ul class="itemizedlist"><li>node_limit : A scalar, specifying the max. number of nodes allowed to be analyzed during the solution.</li>
+ <li>time_limit : A scalar, specifying the maximum amount of CPU time in seconds that the solver should take.</li>
+ <li>gap_limit : A scalar, representing the target gap limit allowed for solution.</li>
+<li>granularity : A scalar, “the minimum difference between two distinct objective function values</li>
+
+<li>node_selection_rule : A Scalar, specifying the maximum number of iterations that the solver should take.</li>
+<li>prep_level : An integer, that determines the level of preprocessing that should be done on the current MILP instance.</li>
+<li>do_branch_and_cut : A boolean, representing the decision whether to run the branch and cut algorithm or not.</li></ul></p>
+ <p class="para">The status allows the user to know the status of the optimization which is returned by Symphony. The values it can take and what they indicate is described below:
+<ul class="itemizedlist"><li>227 : Optimal Solution Found</li>
+<li>228 : Maximum CPU Time exceeded.</li>
+<li>229 : Maximum Number of Node Limit Exceeded.</li>
+<li>230 : Maximum Number of Iterations Limit Exceeded.</li></ul></p>
+ <p class="para">For more details on the status, see the symphony documentation which can be found on http://www.coin-or.org/SYMPHONY/man-5.6/</p>
+ <p class="para">The output data structure contains detailed information about the optimization process.
+It is of type &#0034;struct&#0034; and contains the following fields.
+<ul class="itemizedlist"><li>output.iterations: The number of iterations performed.</li></ul></p>
<p class="para"></p></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// Objective function</span>
-<span class="scilabcomment">// Reference: Westerberg, Carl-Henrik, Bengt Bjorklund, and Eskil Hultman. </span><span class="scilabcomment">&#0034;</span><span class="scilabcomment">An application of mixed integer programming in a Swedish steel mill.</span><span class="scilabcomment">&#0034;</span><span class="scilabcomment"> Interfaces 7, no. 2 (1977): 39-43.</span>
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Here we solve a simple objective function, subjected to three linear inequality constraints.</p>
+ <p class="para">Find x in R^8 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_symphonymat.xml_2.png' style='position:relative;top:12px;width:646px;height:146px'/></span></p>
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// Example 1:</span>
+<span class="scilabcomment">// Reference: Westerberg, Carl-Henrik, Bengt Bjorklund, and Eskil Hultman. </span><span class="scilabcomment">&#0034;</span><span class="scilabcomment">An application of mixed integer</span>
+<span class="scilabcomment">// programming in a Swedish steel mill.</span><span class="scilabcomment">&#0034;</span><span class="scilabcomment"> Interfaces 7, no. 2 (1977): 39-43. Modified acc. to requirements.</span>
+<span class="scilabid">c</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">350</span><span class="scilaboperator">*</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">330</span><span class="scilaboperator">*</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">310</span><span class="scilaboperator">*</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">280</span><span class="scilaboperator">*</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">500</span><span class="scilabdefault">,</span><span class="scilabnumber">450</span><span class="scilabdefault">,</span><span class="scilabnumber">400</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span><span class="scilabdefault">;</span>
+<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">4.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">5.5</span><span class="scilabdefault">,</span> <span class="scilabnumber">7.75</span><span class="scilabdefault">,</span> <span class="scilabnumber">3</span><span class="scilabdefault">,</span> <span class="scilabnumber">3.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">3.5</span><span class="scilabdefault">,</span><span class="scilabnumber">3.75</span><span class="scilabdefault">;</span>
+ <span class="scilabnumber">1.25</span><span class="scilabdefault">,</span><span class="scilabnumber">1.37</span><span class="scilabdefault">,</span><span class="scilabnumber">1.7</span><span class="scilabdefault">,</span><span class="scilabnumber">1.93</span><span class="scilabdefault">,</span><span class="scilabnumber">2.08</span><span class="scilabdefault">,</span><span class="scilabnumber">2.32</span><span class="scilabdefault">,</span><span class="scilabnumber">2.56</span><span class="scilabdefault">,</span><span class="scilabnumber">2.78</span><span class="scilabdefault">;</span>
+ <span class="scilabnumber">1.15</span><span class="scilabdefault">,</span><span class="scilabnumber">1.34</span><span class="scilabdefault">,</span><span class="scilabnumber">1.66</span><span class="scilabdefault">,</span><span class="scilabnumber">1.99</span><span class="scilabdefault">,</span><span class="scilabnumber">2.06</span><span class="scilabdefault">,</span><span class="scilabnumber">2.32</span><span class="scilabdefault">,</span><span class="scilabnumber">2.58</span><span class="scilabdefault">,</span><span class="scilabnumber">2.84</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">100</span> <span class="scilabdefault">,</span><span class="scilabnumber">205</span><span class="scilabdefault">,</span> <span class="scilabnumber">249</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Defining the integer constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">3</span> <span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Calling Symphony</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">status</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">symphonymat</span><span class="scilabopenclose">(</span><span class="scilabid">c</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+<p class="para">A few examples displaying the various functionalities of symphonymat have been provided below. You will find a series of problems and the appropriate code snippets to solve them.</p>
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Here we build up on the previous example by adding upper and lower bounds to the variables.
+We add the following bounds to the problem specified above:</p>
+ <p class="para"><span><img src='./_LaTeX_symphonymat.xml_3.png' style='position:relative;top:76px;width:125px;height:160px'/></span></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// Example 2:</span>
+<span class="scilabcomment">// Reference: Westerberg, Carl-Henrik, Bengt Bjorklund, and Eskil Hultman. </span><span class="scilabcomment">&#0034;</span><span class="scilabcomment">An application of mixed integer</span>
+<span class="scilabcomment">// programming in a Swedish steel mill.</span><span class="scilabcomment">&#0034;</span><span class="scilabcomment"> Interfaces 7, no. 2 (1977): 39-43. Modified acc. to requirements.</span>
+ <span class="scilabid">c</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">350</span><span class="scilaboperator">*</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">330</span><span class="scilaboperator">*</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">310</span><span class="scilaboperator">*</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">280</span><span class="scilaboperator">*</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">500</span><span class="scilabdefault">,</span><span class="scilabnumber">450</span><span class="scilabdefault">,</span><span class="scilabnumber">400</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span><span class="scilabdefault">;</span>
+ <span class="scilabcomment">//Inequality constraints</span>
+ <span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">4.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">5.5</span><span class="scilabdefault">,</span> <span class="scilabnumber">7.75</span><span class="scilabdefault">,</span> <span class="scilabnumber">3</span><span class="scilabdefault">,</span> <span class="scilabnumber">3.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">3.5</span><span class="scilabdefault">,</span><span class="scilabnumber">3.75</span><span class="scilabdefault">;</span>
+ <span class="scilabnumber">1.25</span><span class="scilabdefault">,</span><span class="scilabnumber">1.37</span><span class="scilabdefault">,</span><span class="scilabnumber">1.7</span><span class="scilabdefault">,</span><span class="scilabnumber">1.93</span><span class="scilabdefault">,</span><span class="scilabnumber">2.08</span><span class="scilabdefault">,</span><span class="scilabnumber">2.32</span><span class="scilabdefault">,</span><span class="scilabnumber">2.56</span><span class="scilabdefault">,</span><span class="scilabnumber">2.78</span><span class="scilabdefault">;</span>
+ <span class="scilabnumber">1.15</span><span class="scilabdefault">,</span><span class="scilabnumber">1.34</span><span class="scilabdefault">,</span><span class="scilabnumber">1.66</span><span class="scilabdefault">,</span><span class="scilabnumber">1.99</span><span class="scilabdefault">,</span><span class="scilabnumber">2.06</span><span class="scilabdefault">,</span><span class="scilabnumber">2.32</span><span class="scilabdefault">,</span><span class="scilabnumber">2.58</span><span class="scilabdefault">,</span><span class="scilabnumber">2.84</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+ <span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">100</span> <span class="scilabdefault">,</span><span class="scilabnumber">205</span><span class="scilabdefault">,</span> <span class="scilabnumber">249</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+
+ <span class="scilabcomment">// Lower Bound of variable</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">8</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Upper Bound of variables</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabconstants">%inf</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+ <span class="scilabcomment">//Integer Constraints</span>
+ <span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">3</span> <span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+ <span class="scilabcomment">// Calling Symphony</span>
+ <span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">status</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">symphonymat</span><span class="scilabopenclose">(</span><span class="scilabid">c</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">In this example, we proceed to add the linear equality constraints to the objective function.</p>
+
+ <p class="para"><span><img src='./_LaTeX_symphonymat.xml_4.png' style='position:relative;top:27px;width:581px;height:62px'/></span></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// Example 3:</span>
+<span class="scilabcomment">// Reference: Westerberg, Carl-Henrik, Bengt Bjorklund, and Eskil Hultman. </span><span class="scilabcomment">&#0034;</span><span class="scilabcomment">An application of mixed integer</span>
+<span class="scilabcomment">// programming in a Swedish steel mill.</span><span class="scilabcomment">&#0034;</span><span class="scilabcomment"> Interfaces 7, no. 2 (1977): 39-43. Modified acc. to requirements.</span>
<span class="scilabid">c</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">350</span><span class="scilaboperator">*</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">330</span><span class="scilaboperator">*</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">310</span><span class="scilaboperator">*</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">280</span><span class="scilaboperator">*</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">500</span><span class="scilabdefault">,</span><span class="scilabnumber">450</span><span class="scilabdefault">,</span><span class="scilabnumber">400</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Inequality constraints</span>
+<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">4.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">5.5</span><span class="scilabdefault">,</span> <span class="scilabnumber">7.75</span><span class="scilabdefault">,</span> <span class="scilabnumber">3</span><span class="scilabdefault">,</span> <span class="scilabnumber">3.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">3.5</span><span class="scilabdefault">,</span><span class="scilabnumber">3.75</span><span class="scilabdefault">;</span>
+ <span class="scilabnumber">1.25</span><span class="scilabdefault">,</span><span class="scilabnumber">1.37</span><span class="scilabdefault">,</span><span class="scilabnumber">1.7</span><span class="scilabdefault">,</span><span class="scilabnumber">1.93</span><span class="scilabdefault">,</span><span class="scilabnumber">2.08</span><span class="scilabdefault">,</span><span class="scilabnumber">2.32</span><span class="scilabdefault">,</span><span class="scilabnumber">2.56</span><span class="scilabdefault">,</span><span class="scilabnumber">2.78</span><span class="scilabdefault">;</span>
+ <span class="scilabnumber">1.15</span><span class="scilabdefault">,</span><span class="scilabnumber">1.34</span><span class="scilabdefault">,</span><span class="scilabnumber">1.66</span><span class="scilabdefault">,</span><span class="scilabnumber">1.99</span><span class="scilabdefault">,</span><span class="scilabnumber">2.06</span><span class="scilabdefault">,</span><span class="scilabnumber">2.32</span><span class="scilabdefault">,</span><span class="scilabnumber">2.58</span><span class="scilabdefault">,</span><span class="scilabnumber">2.84</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">100</span> <span class="scilabdefault">,</span><span class="scilabnumber">205</span><span class="scilabdefault">,</span> <span class="scilabnumber">249</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabcomment">// Lower Bound of variable</span>
<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">8</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
<span class="scilabcomment">// Upper Bound of variables</span>
<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabconstants">%inf</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabcomment">// Constraint Matrix</span>
+<span class="scilabcomment">// Equality Constraints</span>
<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
<span class="scilabnumber">5</span><span class="scilaboperator">*</span><span class="scilabnumber">0.05</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabnumber">0.04</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilaboperator">*</span><span class="scilabnumber">0.05</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilaboperator">*</span><span class="scilabnumber">0.03</span><span class="scilabdefault">,</span><span class="scilabnumber">0.08</span><span class="scilabdefault">,</span><span class="scilabnumber">0.07</span><span class="scilabdefault">,</span><span class="scilabnumber">0.06</span><span class="scilabdefault">,</span><span class="scilabnumber">0.03</span><span class="scilabdefault">;</span>
<span class="scilabnumber">5</span><span class="scilaboperator">*</span><span class="scilabnumber">0.03</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabnumber">0.03</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilaboperator">*</span><span class="scilabnumber">0.04</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilaboperator">*</span><span class="scilabnumber">0.04</span><span class="scilabdefault">,</span><span class="scilabnumber">0.06</span><span class="scilabdefault">,</span><span class="scilabnumber">0.07</span><span class="scilabdefault">,</span><span class="scilabnumber">0.08</span><span class="scilabdefault">,</span><span class="scilabnumber">0.09</span><span class="scilabdefault">;</span><span class="scilabopenclose">]</span>
-<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span> <span class="scilabnumber">25</span><span class="scilabdefault">,</span> <span class="scilabnumber">1.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">1.25</span><span class="scilabopenclose">]</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span> <span class="scilabnumber">25</span><span class="scilabdefault">,</span> <span class="scilabnumber">1.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">1.25</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+ <span class="scilabcomment">//Integer Constraints</span>
<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">3</span> <span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
<span class="scilabcomment">// Calling Symphony</span>
-<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">status</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">symphonymat</span><span class="scilabopenclose">(</span><span class="scilabid">c</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">status</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">symphonymat</span><span class="scilabopenclose">(</span><span class="scilabid">c</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span>
<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
-<div class="refsection"><h3 class="title">Examples</h3>
- <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// An advanced case where we set some options in symphony</span>
-<span class="scilabcomment">// This problem is taken from</span>
-<span class="scilabcomment">// P.C.Chu and J.E.Beasley</span>
-<span class="scilabcomment">// </span><span class="scilabcomment">&#0034;</span><span class="scilabcomment">A genetic algorithm for the multidimensional knapsack problem</span><span class="scilabcomment">&#0034;</span><span class="scilabcomment">,</span>
-<span class="scilabcomment">// Journal of Heuristics, vol. 4, 1998, pp63-86.</span>
-<span class="scilabcomment">// The problem to be solved is:</span>
-<span class="scilabcomment">// Max sum{j=1,...,n} p(j)x(j)</span>
-<span class="scilabcomment">// st sum{j=1,...,n} r(i,j)x(j) </span><span class="scilabcomment">&#0060;</span><span class="scilabcomment">= b(i) i=1,...,m</span>
-<span class="scilabcomment">// x(j)=0 or 1</span>
-<span class="scilabcomment">// The function to be maximize i.e. P(j)</span>
-<span class="scilabid">c</span> <span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabnumber">1</span><span class="scilaboperator">*</span><span class="scilabopenclose">[</span> <span class="scilabnumber">504</span> <span class="scilabnumber">803</span> <span class="scilabnumber">667</span> <span class="scilabnumber">1103</span> <span class="scilabnumber">834</span> <span class="scilabnumber">585</span> <span class="scilabnumber">811</span> <span class="scilabnumber">856</span> <span class="scilabnumber">690</span> <span class="scilabnumber">832</span> <span class="scilabnumber">846</span> <span class="scilabnumber">813</span> <span class="scilabnumber">868</span> <span class="scilabnumber">793</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">825</span> <span class="scilabnumber">1002</span> <span class="scilabnumber">860</span> <span class="scilabnumber">615</span> <span class="scilabnumber">540</span> <span class="scilabnumber">797</span> <span class="scilabnumber">616</span> <span class="scilabnumber">660</span> <span class="scilabnumber">707</span> <span class="scilabnumber">866</span> <span class="scilabnumber">647</span> <span class="scilabnumber">746</span> <span class="scilabnumber">1006</span> <span class="scilabnumber">608</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">877</span> <span class="scilabnumber">900</span> <span class="scilabnumber">573</span> <span class="scilabnumber">788</span> <span class="scilabnumber">484</span> <span class="scilabnumber">853</span> <span class="scilabnumber">942</span> <span class="scilabnumber">630</span> <span class="scilabnumber">591</span> <span class="scilabnumber">630</span> <span class="scilabnumber">640</span> <span class="scilabnumber">1169</span> <span class="scilabnumber">932</span> <span class="scilabnumber">1034</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">957</span> <span class="scilabnumber">798</span> <span class="scilabnumber">669</span> <span class="scilabnumber">625</span> <span class="scilabnumber">467</span> <span class="scilabnumber">1051</span> <span class="scilabnumber">552</span> <span class="scilabnumber">717</span> <span class="scilabnumber">654</span> <span class="scilabnumber">388</span> <span class="scilabnumber">559</span> <span class="scilabnumber">555</span> <span class="scilabnumber">1104</span> <span class="scilabnumber">783</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">959</span> <span class="scilabnumber">668</span> <span class="scilabnumber">507</span> <span class="scilabnumber">855</span> <span class="scilabnumber">986</span> <span class="scilabnumber">831</span> <span class="scilabnumber">821</span> <span class="scilabnumber">825</span> <span class="scilabnumber">868</span> <span class="scilabnumber">852</span> <span class="scilabnumber">832</span> <span class="scilabnumber">828</span> <span class="scilabnumber">799</span> <span class="scilabnumber">686</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">510</span> <span class="scilabnumber">671</span> <span class="scilabnumber">575</span> <span class="scilabnumber">740</span> <span class="scilabnumber">510</span> <span class="scilabnumber">675</span> <span class="scilabnumber">996</span> <span class="scilabnumber">636</span> <span class="scilabnumber">826</span> <span class="scilabnumber">1022</span> <span class="scilabnumber">1140</span> <span class="scilabnumber">654</span> <span class="scilabnumber">909</span> <span class="scilabnumber">799</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">1162</span> <span class="scilabnumber">653</span> <span class="scilabnumber">814</span> <span class="scilabnumber">625</span> <span class="scilabnumber">599</span> <span class="scilabnumber">476</span> <span class="scilabnumber">767</span> <span class="scilabnumber">954</span> <span class="scilabnumber">906</span> <span class="scilabnumber">904</span> <span class="scilabnumber">649</span> <span class="scilabnumber">873</span> <span class="scilabnumber">565</span> <span class="scilabnumber">853</span> <span class="scilabnumber">1008</span> <span class="scilabnumber">632</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span><span class="scilabdefault">;</span>
-<span class="scilabcomment">//Constraint Matrix</span>
-<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span> <span class="scilabcomment">//Constraint 1</span>
-<span class="scilabnumber">42</span> <span class="scilabnumber">41</span> <span class="scilabnumber">523</span> <span class="scilabnumber">215</span> <span class="scilabnumber">819</span> <span class="scilabnumber">551</span> <span class="scilabnumber">69</span> <span class="scilabnumber">193</span> <span class="scilabnumber">582</span> <span class="scilabnumber">375</span> <span class="scilabnumber">367</span> <span class="scilabnumber">478</span> <span class="scilabnumber">162</span> <span class="scilabnumber">898</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">550</span> <span class="scilabnumber">553</span> <span class="scilabnumber">298</span> <span class="scilabnumber">577</span> <span class="scilabnumber">493</span> <span class="scilabnumber">183</span> <span class="scilabnumber">260</span> <span class="scilabnumber">224</span> <span class="scilabnumber">852</span> <span class="scilabnumber">394</span> <span class="scilabnumber">958</span> <span class="scilabnumber">282</span> <span class="scilabnumber">402</span> <span class="scilabnumber">604</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">164</span> <span class="scilabnumber">308</span> <span class="scilabnumber">218</span> <span class="scilabnumber">61</span> <span class="scilabnumber">273</span> <span class="scilabnumber">772</span> <span class="scilabnumber">191</span> <span class="scilabnumber">117</span> <span class="scilabnumber">276</span> <span class="scilabnumber">877</span> <span class="scilabnumber">415</span> <span class="scilabnumber">873</span> <span class="scilabnumber">902</span> <span class="scilabnumber">465</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">320</span> <span class="scilabnumber">870</span> <span class="scilabnumber">244</span> <span class="scilabnumber">781</span> <span class="scilabnumber">86</span> <span class="scilabnumber">622</span> <span class="scilabnumber">665</span> <span class="scilabnumber">155</span> <span class="scilabnumber">680</span> <span class="scilabnumber">101</span> <span class="scilabnumber">665</span> <span class="scilabnumber">227</span> <span class="scilabnumber">597</span> <span class="scilabnumber">354</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">597</span> <span class="scilabnumber">79</span> <span class="scilabnumber">162</span> <span class="scilabnumber">998</span> <span class="scilabnumber">849</span> <span class="scilabnumber">136</span> <span class="scilabnumber">112</span> <span class="scilabnumber">751</span> <span class="scilabnumber">735</span> <span class="scilabnumber">884</span> <span class="scilabnumber">71</span> <span class="scilabnumber">449</span> <span class="scilabnumber">266</span> <span class="scilabnumber">420</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">797</span> <span class="scilabnumber">945</span> <span class="scilabnumber">746</span> <span class="scilabnumber">46</span> <span class="scilabnumber">44</span> <span class="scilabnumber">545</span> <span class="scilabnumber">882</span> <span class="scilabnumber">72</span> <span class="scilabnumber">383</span> <span class="scilabnumber">714</span> <span class="scilabnumber">987</span> <span class="scilabnumber">183</span> <span class="scilabnumber">731</span> <span class="scilabnumber">301</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">718</span> <span class="scilabnumber">91</span> <span class="scilabnumber">109</span> <span class="scilabnumber">567</span> <span class="scilabnumber">708</span> <span class="scilabnumber">507</span> <span class="scilabnumber">983</span> <span class="scilabnumber">808</span> <span class="scilabnumber">766</span> <span class="scilabnumber">615</span> <span class="scilabnumber">554</span> <span class="scilabnumber">282</span> <span class="scilabnumber">995</span> <span class="scilabnumber">946</span> <span class="scilabnumber">651</span> <span class="scilabnumber">298</span><span class="scilabdefault">;</span>
-<span class="scilabcomment">//Constraint 2</span>
-<span class="scilabnumber">509</span> <span class="scilabnumber">883</span> <span class="scilabnumber">229</span> <span class="scilabnumber">569</span> <span class="scilabnumber">706</span> <span class="scilabnumber">639</span> <span class="scilabnumber">114</span> <span class="scilabnumber">727</span> <span class="scilabnumber">491</span> <span class="scilabnumber">481</span> <span class="scilabnumber">681</span> <span class="scilabnumber">948</span> <span class="scilabnumber">687</span> <span class="scilabnumber">941</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">350</span> <span class="scilabnumber">253</span> <span class="scilabnumber">573</span> <span class="scilabnumber">40</span> <span class="scilabnumber">124</span> <span class="scilabnumber">384</span> <span class="scilabnumber">660</span> <span class="scilabnumber">951</span> <span class="scilabnumber">739</span> <span class="scilabnumber">329</span> <span class="scilabnumber">146</span> <span class="scilabnumber">593</span> <span class="scilabnumber">658</span> <span class="scilabnumber">816</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">638</span> <span class="scilabnumber">717</span> <span class="scilabnumber">779</span> <span class="scilabnumber">289</span> <span class="scilabnumber">430</span> <span class="scilabnumber">851</span> <span class="scilabnumber">937</span> <span class="scilabnumber">289</span> <span class="scilabnumber">159</span> <span class="scilabnumber">260</span> <span class="scilabnumber">930</span> <span class="scilabnumber">248</span> <span class="scilabnumber">656</span> <span class="scilabnumber">833</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">892</span> <span class="scilabnumber">60</span> <span class="scilabnumber">278</span> <span class="scilabnumber">741</span> <span class="scilabnumber">297</span> <span class="scilabnumber">967</span> <span class="scilabnumber">86</span> <span class="scilabnumber">249</span> <span class="scilabnumber">354</span> <span class="scilabnumber">614</span> <span class="scilabnumber">836</span> <span class="scilabnumber">290</span> <span class="scilabnumber">893</span> <span class="scilabnumber">857</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">158</span> <span class="scilabnumber">869</span> <span class="scilabnumber">206</span> <span class="scilabnumber">504</span> <span class="scilabnumber">799</span> <span class="scilabnumber">758</span> <span class="scilabnumber">431</span> <span class="scilabnumber">580</span> <span class="scilabnumber">780</span> <span class="scilabnumber">788</span> <span class="scilabnumber">583</span> <span class="scilabnumber">641</span> <span class="scilabnumber">32</span> <span class="scilabnumber">653</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">252</span> <span class="scilabnumber">709</span> <span class="scilabnumber">129</span> <span class="scilabnumber">368</span> <span class="scilabnumber">440</span> <span class="scilabnumber">314</span> <span class="scilabnumber">287</span> <span class="scilabnumber">854</span> <span class="scilabnumber">460</span> <span class="scilabnumber">594</span> <span class="scilabnumber">512</span> <span class="scilabnumber">239</span> <span class="scilabnumber">719</span> <span class="scilabnumber">751</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">708</span> <span class="scilabnumber">670</span> <span class="scilabnumber">269</span> <span class="scilabnumber">832</span> <span class="scilabnumber">137</span> <span class="scilabnumber">356</span> <span class="scilabnumber">960</span> <span class="scilabnumber">651</span> <span class="scilabnumber">398</span> <span class="scilabnumber">893</span> <span class="scilabnumber">407</span> <span class="scilabnumber">477</span> <span class="scilabnumber">552</span> <span class="scilabnumber">805</span> <span class="scilabnumber">881</span> <span class="scilabnumber">850</span><span class="scilabdefault">;</span>
-<span class="scilabcomment">//Constraint 3</span>
-<span class="scilabnumber">806</span> <span class="scilabnumber">361</span> <span class="scilabnumber">199</span> <span class="scilabnumber">781</span> <span class="scilabnumber">596</span> <span class="scilabnumber">669</span> <span class="scilabnumber">957</span> <span class="scilabnumber">358</span> <span class="scilabnumber">259</span> <span class="scilabnumber">888</span> <span class="scilabnumber">319</span> <span class="scilabnumber">751</span> <span class="scilabnumber">275</span> <span class="scilabnumber">177</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">883</span> <span class="scilabnumber">749</span> <span class="scilabnumber">229</span> <span class="scilabnumber">265</span> <span class="scilabnumber">282</span> <span class="scilabnumber">694</span> <span class="scilabnumber">819</span> <span class="scilabnumber">77</span> <span class="scilabnumber">190</span> <span class="scilabnumber">551</span> <span class="scilabnumber">140</span> <span class="scilabnumber">442</span> <span class="scilabnumber">867</span> <span class="scilabnumber">283</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">137</span> <span class="scilabnumber">359</span> <span class="scilabnumber">445</span> <span class="scilabnumber">58</span> <span class="scilabnumber">440</span> <span class="scilabnumber">192</span> <span class="scilabnumber">485</span> <span class="scilabnumber">744</span> <span class="scilabnumber">844</span> <span class="scilabnumber">969</span> <span class="scilabnumber">50</span> <span class="scilabnumber">833</span> <span class="scilabnumber">57</span> <span class="scilabnumber">877</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">482</span> <span class="scilabnumber">732</span> <span class="scilabnumber">968</span> <span class="scilabnumber">113</span> <span class="scilabnumber">486</span> <span class="scilabnumber">710</span> <span class="scilabnumber">439</span> <span class="scilabnumber">747</span> <span class="scilabnumber">174</span> <span class="scilabnumber">260</span> <span class="scilabnumber">877</span> <span class="scilabnumber">474</span> <span class="scilabnumber">841</span> <span class="scilabnumber">422</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">280</span> <span class="scilabnumber">684</span> <span class="scilabnumber">330</span> <span class="scilabnumber">910</span> <span class="scilabnumber">791</span> <span class="scilabnumber">322</span> <span class="scilabnumber">404</span> <span class="scilabnumber">403</span> <span class="scilabnumber">519</span> <span class="scilabnumber">148</span> <span class="scilabnumber">948</span> <span class="scilabnumber">414</span> <span class="scilabnumber">894</span> <span class="scilabnumber">147</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">73</span> <span class="scilabnumber">297</span> <span class="scilabnumber">97</span> <span class="scilabnumber">651</span> <span class="scilabnumber">380</span> <span class="scilabnumber">67</span> <span class="scilabnumber">582</span> <span class="scilabnumber">973</span> <span class="scilabnumber">143</span> <span class="scilabnumber">732</span> <span class="scilabnumber">624</span> <span class="scilabnumber">518</span> <span class="scilabnumber">847</span> <span class="scilabnumber">113</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">382</span> <span class="scilabnumber">97</span> <span class="scilabnumber">905</span> <span class="scilabnumber">398</span> <span class="scilabnumber">859</span> <span class="scilabnumber">4</span> <span class="scilabnumber">142</span> <span class="scilabnumber">110</span> <span class="scilabnumber">11</span> <span class="scilabnumber">213</span> <span class="scilabnumber">398</span> <span class="scilabnumber">173</span> <span class="scilabnumber">106</span> <span class="scilabnumber">331</span> <span class="scilabnumber">254</span> <span class="scilabnumber">447</span> <span class="scilabdefault">;</span>
-<span class="scilabcomment">//Constraint 4</span>
-<span class="scilabnumber">404</span> <span class="scilabnumber">197</span> <span class="scilabnumber">817</span> <span class="scilabnumber">1000</span> <span class="scilabnumber">44</span> <span class="scilabnumber">307</span> <span class="scilabnumber">39</span> <span class="scilabnumber">659</span> <span class="scilabnumber">46</span> <span class="scilabnumber">334</span> <span class="scilabnumber">448</span> <span class="scilabnumber">599</span> <span class="scilabnumber">931</span> <span class="scilabnumber">776</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">263</span> <span class="scilabnumber">980</span> <span class="scilabnumber">807</span> <span class="scilabnumber">378</span> <span class="scilabnumber">278</span> <span class="scilabnumber">841</span> <span class="scilabnumber">700</span> <span class="scilabnumber">210</span> <span class="scilabnumber">542</span> <span class="scilabnumber">636</span> <span class="scilabnumber">388</span> <span class="scilabnumber">129</span> <span class="scilabnumber">203</span> <span class="scilabnumber">110</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">817</span> <span class="scilabnumber">502</span> <span class="scilabnumber">657</span> <span class="scilabnumber">804</span> <span class="scilabnumber">662</span> <span class="scilabnumber">989</span> <span class="scilabnumber">585</span> <span class="scilabnumber">645</span> <span class="scilabnumber">113</span> <span class="scilabnumber">436</span> <span class="scilabnumber">610</span> <span class="scilabnumber">948</span> <span class="scilabnumber">919</span> <span class="scilabnumber">115</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">967</span> <span class="scilabnumber">13</span> <span class="scilabnumber">445</span> <span class="scilabnumber">449</span> <span class="scilabnumber">740</span> <span class="scilabnumber">592</span> <span class="scilabnumber">327</span> <span class="scilabnumber">167</span> <span class="scilabnumber">368</span> <span class="scilabnumber">335</span> <span class="scilabnumber">179</span> <span class="scilabnumber">909</span> <span class="scilabnumber">825</span> <span class="scilabnumber">614</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">987</span> <span class="scilabnumber">350</span> <span class="scilabnumber">179</span> <span class="scilabnumber">415</span> <span class="scilabnumber">821</span> <span class="scilabnumber">525</span> <span class="scilabnumber">774</span> <span class="scilabnumber">283</span> <span class="scilabnumber">427</span> <span class="scilabnumber">275</span> <span class="scilabnumber">659</span> <span class="scilabnumber">392</span> <span class="scilabnumber">73</span> <span class="scilabnumber">896</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">68</span> <span class="scilabnumber">982</span> <span class="scilabnumber">697</span> <span class="scilabnumber">421</span> <span class="scilabnumber">246</span> <span class="scilabnumber">672</span> <span class="scilabnumber">649</span> <span class="scilabnumber">731</span> <span class="scilabnumber">191</span> <span class="scilabnumber">514</span> <span class="scilabnumber">983</span> <span class="scilabnumber">886</span> <span class="scilabnumber">95</span> <span class="scilabnumber">846</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">689</span> <span class="scilabnumber">206</span> <span class="scilabnumber">417</span> <span class="scilabnumber">14</span> <span class="scilabnumber">735</span> <span class="scilabnumber">267</span> <span class="scilabnumber">822</span> <span class="scilabnumber">977</span> <span class="scilabnumber">302</span> <span class="scilabnumber">687</span> <span class="scilabnumber">118</span> <span class="scilabnumber">990</span> <span class="scilabnumber">323</span> <span class="scilabnumber">993</span> <span class="scilabnumber">525</span> <span class="scilabnumber">322</span><span class="scilabdefault">;</span>
-<span class="scilabcomment">//Constrain 5</span>
-<span class="scilabnumber">475</span> <span class="scilabnumber">36</span> <span class="scilabnumber">287</span> <span class="scilabnumber">577</span> <span class="scilabnumber">45</span> <span class="scilabnumber">700</span> <span class="scilabnumber">803</span> <span class="scilabnumber">654</span> <span class="scilabnumber">196</span> <span class="scilabnumber">844</span> <span class="scilabnumber">657</span> <span class="scilabnumber">387</span> <span class="scilabnumber">518</span> <span class="scilabnumber">143</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">515</span> <span class="scilabnumber">335</span> <span class="scilabnumber">942</span> <span class="scilabnumber">701</span> <span class="scilabnumber">332</span> <span class="scilabnumber">803</span> <span class="scilabnumber">265</span> <span class="scilabnumber">922</span> <span class="scilabnumber">908</span> <span class="scilabnumber">139</span> <span class="scilabnumber">995</span> <span class="scilabnumber">845</span> <span class="scilabnumber">487</span> <span class="scilabnumber">100</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">447</span> <span class="scilabnumber">653</span> <span class="scilabnumber">649</span> <span class="scilabnumber">738</span> <span class="scilabnumber">424</span> <span class="scilabnumber">475</span> <span class="scilabnumber">425</span> <span class="scilabnumber">926</span> <span class="scilabnumber">795</span> <span class="scilabnumber">47</span> <span class="scilabnumber">136</span> <span class="scilabnumber">801</span> <span class="scilabnumber">904</span> <span class="scilabnumber">740</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">768</span> <span class="scilabnumber">460</span> <span class="scilabnumber">76</span> <span class="scilabnumber">660</span> <span class="scilabnumber">500</span> <span class="scilabnumber">915</span> <span class="scilabnumber">897</span> <span class="scilabnumber">25</span> <span class="scilabnumber">716</span> <span class="scilabnumber">557</span> <span class="scilabnumber">72</span> <span class="scilabnumber">696</span> <span class="scilabnumber">653</span> <span class="scilabnumber">933</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">420</span> <span class="scilabnumber">582</span> <span class="scilabnumber">810</span> <span class="scilabnumber">861</span> <span class="scilabnumber">758</span> <span class="scilabnumber">647</span> <span class="scilabnumber">237</span> <span class="scilabnumber">631</span> <span class="scilabnumber">271</span> <span class="scilabnumber">91</span> <span class="scilabnumber">75</span> <span class="scilabnumber">756</span> <span class="scilabnumber">409</span> <span class="scilabnumber">440</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">483</span> <span class="scilabnumber">336</span> <span class="scilabnumber">765</span> <span class="scilabnumber">637</span> <span class="scilabnumber">981</span> <span class="scilabnumber">980</span> <span class="scilabnumber">202</span> <span class="scilabnumber">35</span> <span class="scilabnumber">594</span> <span class="scilabnumber">689</span> <span class="scilabnumber">602</span> <span class="scilabnumber">76</span> <span class="scilabnumber">767</span> <span class="scilabnumber">693</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">893</span> <span class="scilabnumber">160</span> <span class="scilabnumber">785</span> <span class="scilabnumber">311</span> <span class="scilabnumber">417</span> <span class="scilabnumber">748</span> <span class="scilabnumber">375</span> <span class="scilabnumber">362</span> <span class="scilabnumber">617</span> <span class="scilabnumber">553</span> <span class="scilabnumber">474</span> <span class="scilabnumber">915</span> <span class="scilabnumber">457</span> <span class="scilabnumber">261</span> <span class="scilabnumber">350</span> <span class="scilabnumber">635</span> <span class="scilabdefault">;</span>
-<span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabid">nbVar</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://size">size</a><span class="scilabopenclose">(</span><span class="scilabid">c</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
-<span class="scilabid">b</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">11927</span> <span class="scilabnumber">13727</span> <span class="scilabnumber">11551</span> <span class="scilabnumber">13056</span> <span class="scilabnumber">13460</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabcomment">// Lower Bound of variables</span>
-<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabid">nbVar</span><span class="scilabopenclose">)</span>
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">In this example, we further enhance the functionality of symphonymat by setting input options. This provides us with the ability to control the solver parameters such as the maximum number of solver iterations and the max. CPU time allowed for the computation.</p>
+
+ <p class="para"></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// Example 4:</span>
+<span class="scilabcomment">// Reference: Westerberg, Carl-Henrik, Bengt Bjorklund, and Eskil Hultman. </span><span class="scilabcomment">&#0034;</span><span class="scilabcomment">An application of mixed integer</span>
+<span class="scilabcomment">// programming in a Swedish steel mill.</span><span class="scilabcomment">&#0034;</span><span class="scilabcomment"> Interfaces 7, no. 2 (1977): 39-43. Modified acc. to requirements.</span>
+<span class="scilabid">c</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">350</span><span class="scilaboperator">*</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">330</span><span class="scilaboperator">*</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">310</span><span class="scilaboperator">*</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">280</span><span class="scilaboperator">*</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">500</span><span class="scilabdefault">,</span><span class="scilabnumber">450</span><span class="scilabdefault">,</span><span class="scilabnumber">400</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Inequality constraints</span>
+<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">4.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">5.5</span><span class="scilabdefault">,</span> <span class="scilabnumber">7.75</span><span class="scilabdefault">,</span> <span class="scilabnumber">3</span><span class="scilabdefault">,</span> <span class="scilabnumber">3.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">3.5</span><span class="scilabdefault">,</span><span class="scilabnumber">3.75</span><span class="scilabdefault">;</span>
+ <span class="scilabnumber">1.25</span><span class="scilabdefault">,</span><span class="scilabnumber">1.37</span><span class="scilabdefault">,</span><span class="scilabnumber">1.7</span><span class="scilabdefault">,</span><span class="scilabnumber">1.93</span><span class="scilabdefault">,</span><span class="scilabnumber">2.08</span><span class="scilabdefault">,</span><span class="scilabnumber">2.32</span><span class="scilabdefault">,</span><span class="scilabnumber">2.56</span><span class="scilabdefault">,</span><span class="scilabnumber">2.78</span><span class="scilabdefault">;</span>
+ <span class="scilabnumber">1.15</span><span class="scilabdefault">,</span><span class="scilabnumber">1.34</span><span class="scilabdefault">,</span><span class="scilabnumber">1.66</span><span class="scilabdefault">,</span><span class="scilabnumber">1.99</span><span class="scilabdefault">,</span><span class="scilabnumber">2.06</span><span class="scilabdefault">,</span><span class="scilabnumber">2.32</span><span class="scilabdefault">,</span><span class="scilabnumber">2.58</span><span class="scilabdefault">,</span><span class="scilabnumber">2.84</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">100</span> <span class="scilabdefault">,</span><span class="scilabnumber">205</span><span class="scilabdefault">,</span> <span class="scilabnumber">249</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Lower Bound of variable</span>
+<span class="scilabid">lb</span> <span class="scilaboperator">=</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">8</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
<span class="scilabcomment">// Upper Bound of variables</span>
-<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabid">nbVar</span><span class="scilabopenclose">)</span>
-<span class="scilabcomment">// Lower Bound of constrains</span>
-<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabskeyword">for</span> <span class="scilabid">i</span> <span class="scilaboperator">=</span> <span class="scilabnumber">1</span><span class="scilabspecial">:</span><span class="scilabid">nbVar</span>
-<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabid">intcon</span> <span class="scilabid">i</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
-<span class="scilabskeyword">end</span>
+<span class="scilabid">ub</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span> <a class="scilabmacro" href="scilab://repmat">repmat</a><span class="scilabopenclose">(</span><span class="scilabconstants">%inf</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">)</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Equality Constraints</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">5</span><span class="scilaboperator">*</span><span class="scilabnumber">0.05</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabnumber">0.04</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilaboperator">*</span><span class="scilabnumber">0.05</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilaboperator">*</span><span class="scilabnumber">0.03</span><span class="scilabdefault">,</span><span class="scilabnumber">0.08</span><span class="scilabdefault">,</span><span class="scilabnumber">0.07</span><span class="scilabdefault">,</span><span class="scilabnumber">0.06</span><span class="scilabdefault">,</span><span class="scilabnumber">0.03</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">5</span><span class="scilaboperator">*</span><span class="scilabnumber">0.03</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabnumber">0.03</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilaboperator">*</span><span class="scilabnumber">0.04</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilaboperator">*</span><span class="scilabnumber">0.04</span><span class="scilabdefault">,</span><span class="scilabnumber">0.06</span><span class="scilabdefault">,</span><span class="scilabnumber">0.07</span><span class="scilabdefault">,</span><span class="scilabnumber">0.08</span><span class="scilabdefault">,</span><span class="scilabnumber">0.09</span><span class="scilabdefault">;</span><span class="scilabopenclose">]</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span> <span class="scilabnumber">25</span><span class="scilabdefault">,</span> <span class="scilabnumber">1.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">1.25</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+ <span class="scilabcomment">//Integer Constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">3</span> <span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Options</span>
<span class="scilabid">options</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">&#0034;</span><span class="scilabstring">time_limit</span><span class="scilabstring">&#0034;</span><span class="scilabdefault">,</span> <span class="scilabnumber">25</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span>
-<span class="scilabcomment">// The expected solution :</span>
-<span class="scilabcomment">// Output variables</span>
-<span class="scilabid">xopt</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabspecial">..</span>
-<span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span><span class="scilabopenclose">]</span>
-<span class="scilabcomment">// Optimal value</span>
-<span class="scilabid">fopt</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span> <span class="scilaboperator">-</span><span class="scilabnumber">24381</span> <span class="scilabopenclose">]</span>
<span class="scilabcomment">// Calling Symphony</span>
-<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">status</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">symphonymat</span><span class="scilabopenclose">(</span><span class="scilabid">c</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">status</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">symphonymat</span><span class="scilabopenclose">(</span><span class="scilabid">c</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabdefault">,</span><span class="scilabid">lb</span><span class="scilabdefault">,</span><span class="scilabid">ub</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Primal Infeasible Problems: Find x in R^8 such that it minimizes:</p>
+ <p class="para">Find x in R^8 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_symphonymat.xml_5.png' style='position:relative;top:12px;width:666px;height:146px'/></span></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// Example 5:</span>
+<span class="scilabcomment">// Reference: Westerberg, Carl-Henrik, Bengt Bjorklund, and Eskil Hultman. </span><span class="scilabcomment">&#0034;</span><span class="scilabcomment">An application of mixed integer </span>
+<span class="scilabcomment">// programming in a Swedish steel mill.</span><span class="scilabcomment">&#0034;</span><span class="scilabcomment"> Interfaces 7, no. 2 (1977): 39-43. Modified acc. to requirements.</span>
+<span class="scilabid">c</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">350</span><span class="scilaboperator">*</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">330</span><span class="scilaboperator">*</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">310</span><span class="scilaboperator">*</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">280</span><span class="scilaboperator">*</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">500</span><span class="scilabdefault">,</span><span class="scilabnumber">450</span><span class="scilabdefault">,</span><span class="scilabnumber">400</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Inequality constraints </span>
+<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">4.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">5.5</span><span class="scilabdefault">,</span> <span class="scilabnumber">7.75</span><span class="scilabdefault">,</span> <span class="scilabnumber">3</span><span class="scilabdefault">,</span> <span class="scilabnumber">3.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">3.5</span><span class="scilabdefault">,</span><span class="scilabnumber">3.75</span><span class="scilabdefault">;</span>
+ <span class="scilabnumber">1.25</span><span class="scilabdefault">,</span><span class="scilabnumber">1.37</span><span class="scilabdefault">,</span><span class="scilabnumber">1.7</span><span class="scilabdefault">,</span><span class="scilabnumber">1.93</span><span class="scilabdefault">,</span><span class="scilabnumber">2.08</span><span class="scilabdefault">,</span><span class="scilabnumber">2.32</span><span class="scilabdefault">,</span><span class="scilabnumber">2.56</span><span class="scilabdefault">,</span><span class="scilabnumber">2.78</span><span class="scilabdefault">;</span>
+ <span class="scilabnumber">1.15</span><span class="scilabdefault">,</span><span class="scilabnumber">1.34</span><span class="scilabdefault">,</span><span class="scilabnumber">1.66</span><span class="scilabdefault">,</span><span class="scilabnumber">1.99</span><span class="scilabdefault">,</span><span class="scilabnumber">2.06</span><span class="scilabdefault">,</span><span class="scilabnumber">2.32</span><span class="scilabdefault">,</span><span class="scilabnumber">2.58</span><span class="scilabdefault">,</span><span class="scilabnumber">2.84</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">26.333</span> <span class="scilabdefault">,</span><span class="scilabnumber">3.916</span> <span class="scilabdefault">,</span><span class="scilabnumber">5.249</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+ <span class="scilabcomment">//Integer Constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">3</span> <span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+
+<span class="scilabcomment">// Calling Symphony</span>
+
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">status</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">symphonymat</span><span class="scilabopenclose">(</span><span class="scilabid">c</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">Example</h3>
+ <p class="para">Unbounded Problems. Find x in R^8 such that it minimizes:</p>
+ <p class="para"><span><img src='./_LaTeX_symphonymat.xml_6.png' style='position:relative;top:12px;width:650px;height:146px'/></span></p>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">// Example 6:</span>
+<span class="scilabcomment">// Reference: Westerberg, Carl-Henrik, Bengt Bjorklund, and Eskil Hultman. </span><span class="scilabcomment">&#0034;</span><span class="scilabcomment">An application of mixed integer</span>
+<span class="scilabcomment">// programming in a Swedish steel mill.</span><span class="scilabcomment">&#0034;</span><span class="scilabcomment"> Interfaces 7, no. 2 (1977): 39-43. Modified acc. to requirements.</span>
+<span class="scilabid">c</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">350</span><span class="scilaboperator">*</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">330</span><span class="scilaboperator">*</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">310</span><span class="scilaboperator">*</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">280</span><span class="scilaboperator">*</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">500</span><span class="scilabdefault">,</span><span class="scilabnumber">450</span><span class="scilabdefault">,</span><span class="scilabnumber">400</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">]</span><span class="scilaboperator">&#0039;</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">//Inequality constraints</span>
+<span class="scilabid">A</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabid">b</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Equality Constraints</span>
+<span class="scilabid">Aeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">5</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">5</span><span class="scilaboperator">*</span><span class="scilabnumber">0.05</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabnumber">0.04</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilaboperator">*</span><span class="scilabnumber">0.05</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilaboperator">*</span><span class="scilabnumber">0.03</span><span class="scilabdefault">,</span><span class="scilabnumber">0.08</span><span class="scilabdefault">,</span><span class="scilabnumber">0.07</span><span class="scilabdefault">,</span><span class="scilabnumber">0.06</span><span class="scilabdefault">,</span><span class="scilabnumber">0.03</span><span class="scilabdefault">;</span>
+<span class="scilabnumber">5</span><span class="scilaboperator">*</span><span class="scilabnumber">0.03</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilaboperator">*</span><span class="scilabnumber">0.03</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilaboperator">*</span><span class="scilabnumber">0.04</span><span class="scilabdefault">,</span><span class="scilabnumber">6</span><span class="scilaboperator">*</span><span class="scilabnumber">0.04</span><span class="scilabdefault">,</span><span class="scilabnumber">0.06</span><span class="scilabdefault">,</span><span class="scilabnumber">0.07</span><span class="scilabdefault">,</span><span class="scilabnumber">0.08</span><span class="scilabdefault">,</span><span class="scilabnumber">0.09</span><span class="scilabdefault">;</span><span class="scilabopenclose">]</span>
+<span class="scilabid">beq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span> <span class="scilabnumber">25</span><span class="scilabdefault">,</span> <span class="scilabnumber">1.25</span><span class="scilabdefault">,</span> <span class="scilabnumber">1.25</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+ <span class="scilabcomment">//Integer Constraints</span>
+<span class="scilabid">intcon</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1</span> <span class="scilabnumber">2</span> <span class="scilabnumber">3</span> <span class="scilabnumber">4</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span>
+<span class="scilabcomment">// Calling Symphony</span>
+<span class="scilabopenclose">[</span><span class="scilabid">x</span><span class="scilabdefault">,</span><span class="scilabid">f</span><span class="scilabdefault">,</span><span class="scilabid">status</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabopenclose">]</span> <span class="scilaboperator">=</span> <span class="scilabid">symphonymat</span><span class="scilabopenclose">(</span><span class="scilabid">c</span><span class="scilabdefault">,</span><span class="scilabid">intcon</span><span class="scilabdefault">,</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabid">b</span><span class="scilabdefault">,</span><span class="scilabid">Aeq</span><span class="scilabdefault">,</span><span class="scilabid">beq</span><span class="scilabopenclose">)</span>
+<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+
<div class="refsection"><h3 class="title">Authors</h3>
<ul class="itemizedlist"><li class="member">Keyur Joshi, Saikiran, Iswarya, Harpreet Singh</li></ul></div>
@@ -199,11 +255,11 @@ It has type &#0034;struct&#0034; and contains the following fields.
</td>
<td width="40%" class="center">
- <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span>
+ <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span>
</td>
<td width="30%" class="next">
- <span class="next"><a href="section_316c7f5a42ba69316753082a567f2a1a.html">Symphony Native Functions &gt;&gt;</a></span>
+ <span class="next"><a href="section_5fc7ef02a133896efbd190355314d3fc.html">Symphony Native Functions &gt;&gt;</a></span>
</td>
</tr></table>