diff options
author | Harpreet | 2016-02-24 16:22:06 +0530 |
---|---|---|
committer | Harpreet | 2016-02-24 16:22:06 +0530 |
commit | 03241d180c9d65fa1e75ceac4c257df44438a1ce (patch) | |
tree | eb6e3875f136ec94ce138382adb90e925ff84750 | |
parent | 7996c2704975d61e03cfb4204cfb8e202367a448 (diff) | |
download | FOSSEE-Optimization-toolbox-03241d180c9d65fa1e75ceac4c257df44438a1ce.tar.gz FOSSEE-Optimization-toolbox-03241d180c9d65fa1e75ceac4c257df44438a1ce.tar.bz2 FOSSEE-Optimization-toolbox-03241d180c9d65fa1e75ceac4c257df44438a1ce.zip |
fmincon examples added
236 files changed, 12217 insertions, 1529 deletions
diff --git a/cleaner.sce b/cleaner.sce new file mode 100644 index 0000000..370c68f --- /dev/null +++ b/cleaner.sce @@ -0,0 +1,38 @@ +// This file is released under the 3-clause BSD license. See COPYING-BSD. +// Generated by builder.sce: Please, do not edit this file + +try + getversion("scilab"); +catch + error("Scilab 5.0 or more is required."); +end +function perform_clean() + root_tlbx = get_absolute_file_path('cleaner.sce'); + + if isfile(root_tlbx + '/macros/cleanmacros.sce') then + exec(root_tlbx+'/macros/cleanmacros.sce'); + end + + if isfile(root_tlbx + '/src/cleaner_src.sce') then + exec(root_tlbx+'/src/cleaner_src.sce'); + end + + if isfile(root_tlbx + "/sci_gateway/cleaner_gateway.sce") then + exec(root_tlbx + "/sci_gateway/cleaner_gateway.sce"); + mdelete(root_tlbx + "/sci_gateway/cleaner_gateway.sce"); + end + + if isfile(root_tlbx + "/help/cleaner_help.sce") then + exec(root_tlbx + "/help/cleaner_help.sce"); + end + + if isfile(root_tlbx + "/loader.sce") then + mdelete(root_tlbx + "/loader.sce"); + end + + if isfile(root_tlbx + "/unloader.sce") then + mdelete(root_tlbx + "/unloader.sce"); + end +endfunction +perform_clean(); +clear perform_clean; diff --git a/help/en_US/master_help.xml b/help/en_US/master_help.xml new file mode 100644 index 0000000..73ec952 --- /dev/null +++ b/help/en_US/master_help.xml @@ -0,0 +1,164 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE book [ +<!--Begin Entities--> +<!ENTITY a745e19a6383796e6f5680cdcc44cfcce SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/fgoalattain.xml"> +<!ENTITY a2b24cb19de46f878f11e6be9eb411170 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/fminbnd.xml"> +<!ENTITY a52664d077cac340a0384efe1ac107088 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/fmincon.xml"> +<!ENTITY a0184dce5b9269d9795f0858d46c1c6f0 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/fminimax.xml"> +<!ENTITY a14f1077f437dbe35eb1cac51fed7a9fc SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/fminunc.xml"> +<!ENTITY aa809ed678033fc05c9b60a71de55b2ce SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/linprog.xml"> +<!ENTITY a3d4ec65684b561d91f7a255acd23f51c SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/lsqlin.xml"> +<!ENTITY aa4a031935f5eed6cfc8fc4a49823b00b SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/lsqnonneg.xml"> +<!ENTITY a6b85f6e0c98751f20b68663a23cb4cd2 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/qpipopt.xml"> +<!ENTITY a8549a3935858ed104f4749ca2243456a SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/qpipoptmat.xml"> +<!ENTITY aca972f273143ecb39f56b42e4723ac67 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/symphony.xml"> +<!ENTITY a9910ada35b57b0581e8a77d145abac4a SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/symphonymat.xml"> +<!ENTITY acc223314e8a8bc290a13618df33a6237 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_addConstr.xml"> +<!ENTITY a5e032b3334f53385f0ce250f0d5c18f2 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_addVar.xml"> +<!ENTITY a11ac5af5f92741f96e56398fe6113c1a SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_close.xml"> +<!ENTITY a54f913b8b4e581654c3f9d37a7f0353a SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_deleteConstrs.xml"> +<!ENTITY aa30f7f7c36bd510b4f02727f52f4a3ce SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_deleteVars.xml"> +<!ENTITY a1f3452caf3162b6385df305f81346e5b SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getConstrActivity.xml"> +<!ENTITY a3b149fd278245d4b3a24e4517225c98b SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getConstrLower.xml"> +<!ENTITY a6e5609fb4e5eebcf24b457f44e0fdae3 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getConstrRange.xml"> +<!ENTITY aa893b53c826a7def860105c158f070f8 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getConstrSense.xml"> +<!ENTITY a06bad82642d672e569c4b95454548dc4 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getConstrUpper.xml"> +<!ENTITY aa5d59eb05be10280b50c527e88194603 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getDblParam.xml"> +<!ENTITY a65cdfe78fc72edc8c5a47ad2bfe65892 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getInfinity.xml"> +<!ENTITY a26a6886e109925cf0cc77c6cc7cc5bbb SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getIntParam.xml"> +<!ENTITY aecee265206afdf2b5baf3e6f0ce05b2a SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getIterCount.xml"> +<!ENTITY a559f913f0e9f21d38c9c27a33a9953ae SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getMatrix.xml"> +<!ENTITY a3e540ecd4a9a3e666b31579fa5662aba SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getNumConstr.xml"> +<!ENTITY adb9eed3182459e3dce170977880cc253 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getNumElements.xml"> +<!ENTITY a6ce3ca192828a09725815663579482db SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getNumVar.xml"> +<!ENTITY a338f3184d5c61f0f7de92b171be041d1 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getObjCoeff.xml"> +<!ENTITY af15d4928d3cbab7d87e64eb2b52a1496 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getObjSense.xml"> +<!ENTITY a5cacaf92073795f5fd6c7cb6084c4015 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getObjVal.xml"> +<!ENTITY a2aee40916b0f8c5631a8808aaf9da74e SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getPrimalBound.xml"> +<!ENTITY a89689c9684bb1222009a56e0ee157ad4 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getRhs.xml"> +<!ENTITY a7fea9b7273bacb6e59272590a9ef8690 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getStatus.xml"> +<!ENTITY a14f8d21effef06b5b04029cc11d54b55 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getStrParam.xml"> +<!ENTITY a46ee22cafdff1a8bcf08c9fd522ab5b8 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getVarLower.xml"> +<!ENTITY aca3cb89179616e3be06b228b87f32ddb SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getVarSoln.xml"> +<!ENTITY ad6f09bc2a57af9aa5a557497c6bddbc3 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_getVarUpper.xml"> +<!ENTITY a7cf13c8ec3cbc1862da713ab233e0f2a SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_isAbandoned.xml"> +<!ENTITY a6a1928ddadf9dbd1f71b463c55ae9a7c SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_isBinary.xml"> +<!ENTITY a8db20054b5db402260af3fc2bbcbbc02 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_isContinuous.xml"> +<!ENTITY aa495e78c64e2a62b8cfceb6d3e0dd306 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_isEnvActive.xml"> +<!ENTITY a8b17974e4691a1119aa9189d5d21af50 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_isInfeasible.xml"> +<!ENTITY abf0fa3e575e638636e94ae387f7f4465 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_isInteger.xml"> +<!ENTITY a68289eac582fd1515c510bd447640fea SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_isIterLimitReached.xml"> +<!ENTITY a3e4b8cb708b6af8648f58c658c54a466 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_isOptimal.xml"> +<!ENTITY a0c555f679ba4b9b3f0c128fba8c97784 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_isTargetGapAchieved.xml"> +<!ENTITY a149fad015c8f9764fb817f2f32b6433a SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_isTimeLimitReached.xml"> +<!ENTITY a58e4ad13d7f92aa2106f346e6f667cef SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_loadMPS.xml"> +<!ENTITY a6d3922ed2f332c444391d0b3bfe149a5 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_loadProblem.xml"> +<!ENTITY ac0309772a676ae0f19c4906587629055 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_loadProblemBasic.xml"> +<!ENTITY af1c8a28c8b6a57e72bfadc71f30e391b SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_open.xml"> +<!ENTITY a6c72196376a25e3ad51c8918e6ac00be SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_resetParams.xml"> +<!ENTITY a9c990f2279c1b39e9ff9161319700972 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_setConstrLower.xml"> +<!ENTITY a8e7ffd33fb83a6c6438da917911f5378 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_setConstrType.xml"> +<!ENTITY ae35adb60ff83c89fc44b30fda7c87af4 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_setConstrUpper.xml"> +<!ENTITY a10ea3c81046dff7b2c8ae794f470c7b9 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_setContinuous.xml"> +<!ENTITY af90e3534d92ac40286440b627aee484b SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_setDblParam.xml"> +<!ENTITY a5fa728194634dbc83868f69db2dcb00b SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_setIntParam.xml"> +<!ENTITY ac00d47c17e27b147886626cb5a5b9b21 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_setInteger.xml"> +<!ENTITY a495915b72119ba0fbfa1a3574c89a579 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_setObjCoeff.xml"> +<!ENTITY af551a253e20452196acaf8e4f8097d1e SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_setObjSense.xml"> +<!ENTITY a69dcdf35892e94bf931551457037cf7c SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_setPrimalBound.xml"> +<!ENTITY a1bf9d00f2bdb2ccf20bb88fd425ae817 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_setStrParam.xml"> +<!ENTITY af2559ac6a3ee305a9d34197886b7d9f1 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_setVarLower.xml"> +<!ENTITY a69ab58762cd50faa3908e15b52605000 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_setVarSoln.xml"> +<!ENTITY a33e3ef3ff532c54b58f3ed5c2c0b3154 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_setVarUpper.xml"> +<!ENTITY ad6943c0d89d69c96ade13f4b338e5ed8 SYSTEM "/home/harpreet/symphony_work/symphony/help/en_US/Symphony Native Function/sym_solve.xml"> +<!--End Entities--> +]> +<book version="5.0-subset Scilab" xml:lang="en_US" + xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:mml="http://www.w3.org/1998/Math/MathML" + xmlns:html="http://www.w3.org/1999/xhtml" + xmlns:db="http://docbook.org/ns/docbook"> + <info xml:id='fossee_optimization_toolbox_manual'> + <title>FOSSEE Optimization Toolbox</title> + </info> + +<part xml:id='section_19f4f1e5726c01d683e8b82be0a7e910'> +<title>FOSSEE Optimization Toolbox</title> +&a745e19a6383796e6f5680cdcc44cfcce; +&a2b24cb19de46f878f11e6be9eb411170; +&a52664d077cac340a0384efe1ac107088; +&a0184dce5b9269d9795f0858d46c1c6f0; +&a14f1077f437dbe35eb1cac51fed7a9fc; +&aa809ed678033fc05c9b60a71de55b2ce; +&a3d4ec65684b561d91f7a255acd23f51c; +&aa4a031935f5eed6cfc8fc4a49823b00b; +&a6b85f6e0c98751f20b68663a23cb4cd2; +&a8549a3935858ed104f4749ca2243456a; +&aca972f273143ecb39f56b42e4723ac67; +&a9910ada35b57b0581e8a77d145abac4a; +<chapter xml:id='section_508f0b211d17ea6769714cc144e6b731'> +<title>Symphony Native Functions</title> +&acc223314e8a8bc290a13618df33a6237; +&a5e032b3334f53385f0ce250f0d5c18f2; +&a11ac5af5f92741f96e56398fe6113c1a; +&a54f913b8b4e581654c3f9d37a7f0353a; +&aa30f7f7c36bd510b4f02727f52f4a3ce; +&a1f3452caf3162b6385df305f81346e5b; +&a3b149fd278245d4b3a24e4517225c98b; +&a6e5609fb4e5eebcf24b457f44e0fdae3; +&aa893b53c826a7def860105c158f070f8; +&a06bad82642d672e569c4b95454548dc4; +&aa5d59eb05be10280b50c527e88194603; +&a65cdfe78fc72edc8c5a47ad2bfe65892; +&a26a6886e109925cf0cc77c6cc7cc5bbb; +&aecee265206afdf2b5baf3e6f0ce05b2a; +&a559f913f0e9f21d38c9c27a33a9953ae; +&a3e540ecd4a9a3e666b31579fa5662aba; +&adb9eed3182459e3dce170977880cc253; +&a6ce3ca192828a09725815663579482db; +&a338f3184d5c61f0f7de92b171be041d1; +&af15d4928d3cbab7d87e64eb2b52a1496; +&a5cacaf92073795f5fd6c7cb6084c4015; +&a2aee40916b0f8c5631a8808aaf9da74e; +&a89689c9684bb1222009a56e0ee157ad4; +&a7fea9b7273bacb6e59272590a9ef8690; +&a14f8d21effef06b5b04029cc11d54b55; +&a46ee22cafdff1a8bcf08c9fd522ab5b8; +&aca3cb89179616e3be06b228b87f32ddb; +&ad6f09bc2a57af9aa5a557497c6bddbc3; +&a7cf13c8ec3cbc1862da713ab233e0f2a; +&a6a1928ddadf9dbd1f71b463c55ae9a7c; +&a8db20054b5db402260af3fc2bbcbbc02; +&aa495e78c64e2a62b8cfceb6d3e0dd306; +&a8b17974e4691a1119aa9189d5d21af50; +&abf0fa3e575e638636e94ae387f7f4465; +&a68289eac582fd1515c510bd447640fea; +&a3e4b8cb708b6af8648f58c658c54a466; +&a0c555f679ba4b9b3f0c128fba8c97784; +&a149fad015c8f9764fb817f2f32b6433a; +&a58e4ad13d7f92aa2106f346e6f667cef; +&a6d3922ed2f332c444391d0b3bfe149a5; +&ac0309772a676ae0f19c4906587629055; +&af1c8a28c8b6a57e72bfadc71f30e391b; +&a6c72196376a25e3ad51c8918e6ac00be; +&a9c990f2279c1b39e9ff9161319700972; +&a8e7ffd33fb83a6c6438da917911f5378; +&ae35adb60ff83c89fc44b30fda7c87af4; +&a10ea3c81046dff7b2c8ae794f470c7b9; +&af90e3534d92ac40286440b627aee484b; +&a5fa728194634dbc83868f69db2dcb00b; +&ac00d47c17e27b147886626cb5a5b9b21; +&a495915b72119ba0fbfa1a3574c89a579; +&af551a253e20452196acaf8e4f8097d1e; +&a69dcdf35892e94bf931551457037cf7c; +&a1bf9d00f2bdb2ccf20bb88fd425ae817; +&af2559ac6a3ee305a9d34197886b7d9f1; +&a69ab58762cd50faa3908e15b52605000; +&a33e3ef3ff532c54b58f3ed5c2c0b3154; +&ad6943c0d89d69c96ade13f4b338e5ed8; +</chapter> +</part> +</book> diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS b/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS Binary files differnew file mode 100644 index 0000000..a5dd8d0 --- /dev/null +++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB b/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB Binary files differnew file mode 100644 index 0000000..497453b --- /dev/null +++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS b/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS Binary files differnew file mode 100644 index 0000000..9f06801 --- /dev/null +++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS b/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS Binary files differnew file mode 100644 index 0000000..708749d --- /dev/null +++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA b/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA new file mode 100644 index 0000000..9c2220b --- /dev/null +++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA @@ -0,0 +1,2 @@ +JavaSearch 1.0 +TMAP bs=2048 rt=1 fl=-1 id1=1479 id2=1 diff --git a/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP b/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP Binary files differnew file mode 100644 index 0000000..bed7ce2 --- /dev/null +++ b/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP diff --git a/help/en_US/scilab_en_US_help/ScilabCaution.png b/help/en_US/scilab_en_US_help/ScilabCaution.png Binary files differnew file mode 100644 index 0000000..8edb56e --- /dev/null +++ b/help/en_US/scilab_en_US_help/ScilabCaution.png diff --git a/help/en_US/scilab_en_US_help/ScilabEdit.png b/help/en_US/scilab_en_US_help/ScilabEdit.png Binary files differnew file mode 100644 index 0000000..e139988 --- /dev/null +++ b/help/en_US/scilab_en_US_help/ScilabEdit.png diff --git a/help/en_US/scilab_en_US_help/ScilabExecute.png b/help/en_US/scilab_en_US_help/ScilabExecute.png Binary files differnew file mode 100644 index 0000000..4acd4b9 --- /dev/null +++ b/help/en_US/scilab_en_US_help/ScilabExecute.png diff --git a/help/en_US/scilab_en_US_help/ScilabImportant.png b/help/en_US/scilab_en_US_help/ScilabImportant.png Binary files differnew file mode 100644 index 0000000..3b51020 --- /dev/null +++ b/help/en_US/scilab_en_US_help/ScilabImportant.png diff --git a/help/en_US/scilab_en_US_help/ScilabNote.png b/help/en_US/scilab_en_US_help/ScilabNote.png Binary files differnew file mode 100644 index 0000000..ed46c3e --- /dev/null +++ b/help/en_US/scilab_en_US_help/ScilabNote.png diff --git a/help/en_US/scilab_en_US_help/ScilabTip.png b/help/en_US/scilab_en_US_help/ScilabTip.png Binary files differnew file mode 100644 index 0000000..ed46c3e --- /dev/null +++ b/help/en_US/scilab_en_US_help/ScilabTip.png diff --git a/help/en_US/scilab_en_US_help/ScilabWarning.png b/help/en_US/scilab_en_US_help/ScilabWarning.png Binary files differnew file mode 100644 index 0000000..8edb56e --- /dev/null +++ b/help/en_US/scilab_en_US_help/ScilabWarning.png 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 Binary files differnew file mode 100644 index 0000000..7d7a4b6 --- /dev/null +++ b/help/en_US/scilab_en_US_help/_LaTeX_fgoalattain.xml_1.png 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 Binary files differnew file mode 100644 index 0000000..2634ce3 --- /dev/null +++ b/help/en_US/scilab_en_US_help/_LaTeX_fminbnd.xml_1.png 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 Binary files differnew file mode 100644 index 0000000..07910ed --- /dev/null +++ b/help/en_US/scilab_en_US_help/_LaTeX_fmincon.xml_1.png 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 Binary files differnew file mode 100644 index 0000000..cc11a01 --- /dev/null +++ b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_1.png 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 Binary files differnew file mode 100644 index 0000000..6a9edc4 --- /dev/null +++ b/help/en_US/scilab_en_US_help/_LaTeX_fminimax.xml_2.png 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 Binary files differnew file mode 100644 index 0000000..5250091 --- /dev/null +++ b/help/en_US/scilab_en_US_help/_LaTeX_fminunc.xml_1.png 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 Binary files differnew file mode 100644 index 0000000..1dd1d5e --- /dev/null +++ b/help/en_US/scilab_en_US_help/_LaTeX_linprog.xml_1.png 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 Binary files differnew file mode 100644 index 0000000..9015755 --- /dev/null +++ b/help/en_US/scilab_en_US_help/_LaTeX_lsqlin.xml_1.png 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 Binary files differnew file mode 100644 index 0000000..3dd57aa --- /dev/null +++ b/help/en_US/scilab_en_US_help/_LaTeX_lsqnonneg.xml_1.png 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 Binary files differnew file mode 100644 index 0000000..e2fbbde --- /dev/null +++ b/help/en_US/scilab_en_US_help/_LaTeX_qpipopt.xml_1.png 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 Binary files differnew file mode 100644 index 0000000..3846115 --- /dev/null +++ b/help/en_US/scilab_en_US_help/_LaTeX_qpipoptmat.xml_1.png 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 Binary files differnew file mode 100644 index 0000000..9155e8f --- /dev/null +++ b/help/en_US/scilab_en_US_help/_LaTeX_symphony.xml_1.png 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 Binary files differnew file mode 100644 index 0000000..9c2039f --- /dev/null +++ b/help/en_US/scilab_en_US_help/_LaTeX_symphonymat.xml_1.png diff --git a/help/en_US/scilab_en_US_help/c_code.css b/help/en_US/scilab_en_US_help/c_code.css new file mode 100644 index 0000000..948d2ee --- /dev/null +++ b/help/en_US/scilab_en_US_help/c_code.css @@ -0,0 +1,54 @@ +.ccomment { + font-style: italic; + color: #b22222 +} + +.cdefault { + font-style: normal; + color: #000000 +} + +.copenclose { + font-style: normal; + color: #000000 +} + +.coperator { + font-style: normal; + color: #000000 +} + +.cstring { + font-style: normal; + color: #a6557a +} + +.ctype { + font-style: normal; + color: #55a655 +} + +.cpreprocessor { + font-style: normal; + color: #9965a6 +} + +.cid { + font-style: normal; + color: #000000 +} + +.ckeyword { + font-style: normal; + color: #ad3ff2 +} + +.cmodifier { + font-style: normal; + color: #ad3ff2 +} + +.cnumber { + font-style: normal; + color: #008b8b +} diff --git a/help/en_US/scilab_en_US_help/fgoalattain.html b/help/en_US/scilab_en_US_help/fgoalattain.html new file mode 100644 index 0000000..2981e47 --- /dev/null +++ b/help/en_US/scilab_en_US_help/fgoalattain.html @@ -0,0 +1,187 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>fgoalattain</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_19f4f1e5726c01d683e8b82be0a7e910.html"><< FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="fminbnd.html">fminbnd >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > fgoalattain</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">fgoalattain</h1> + <p class="refpurpose">Solves a multiobjective goal attainment 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">fgoalattain</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">goal</span><span class="default">,</span><span class="default">weight</span><span class="default">)</span> +<span class="default">xopt</span><span class="default"> = </span><span class="functionid">fgoalattain</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">goal</span><span class="default">,</span><span class="default">weight</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">fgoalattain</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">goal</span><span class="default">,</span><span class="default">weight</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">fgoalattain</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">goal</span><span class="default">,</span><span class="default">weight</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">fgoalattain</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">goal</span><span class="default">,</span><span class="default">weight</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">nonlcon</span><span class="default">)</span> +<span class="default">xopt</span><span class="default"> = </span><span class="functionid">fgoalattain</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">goal</span><span class="default">,</span><span class="default">weight</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">nonlcon</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">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="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="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="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> + <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> + <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">A :</span> + <dd><p class="para">a matrix of double, represents the linear coefficients in the inequality constraints Aâ‹…x ≤ b.</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> + <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> + <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> + <dt><span class="term">lb :</span> + <dd><p class="para">a vector of double, contains 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> + <dt><span class="term">nonlcon:</span> + <dd><p class="para">a function, the nonlinear constraints</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> + <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> + <dt><span class="term">exitflag :</span> + <dd><p class="para">The exit status. 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> + <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> + +<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 "ipopt" 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 "list" and contains the following fields. +<ul class="itemizedlist"><li>Syntax : options= list("MaxIter", [---], "CpuTime", [---], "GradObj", ---, "GradCon", ---);</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 & m3 are number of non-linear inequality and equality constraints respectively.</li> +<li>Default Values : options = list("MaxIter", [3000], "CpuTime", [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 "GradObj" 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">"</span><span class="scilabstring">GradObj</span><span class="scilabstring">"</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 "GradCon" 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">"</span><span class="scilabstring">GradCon</span><span class="scilabstring">"</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 "struct" 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. +It has type "struct" 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> + +<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> +<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="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="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">Authors</h3> + <ul class="itemizedlist"><li class="member">Prajwala TM, Sheetal Shalini , 2015</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_19f4f1e5726c01d683e8b82be0a7e910.html"><< FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="fminbnd.html">fminbnd >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/fminbnd.html b/help/en_US/scilab_en_US_help/fminbnd.html new file mode 100644 index 0000000..46755f8 --- /dev/null +++ b/help/en_US/scilab_en_US_help/fminbnd.html @@ -0,0 +1,176 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>fminbnd</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="fgoalattain.html"><< fgoalattain</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="fmincon.html">fmincon >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > fminbnd</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">fminbnd</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">fminbnd</span><span class="default">(</span><span class="default">f</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">fminbnd</span><span class="default">(</span><span class="default">f</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">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="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="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> + <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 'n' 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 'n' is the number of Variables. If x2 is empty it means upper bound is +infinity</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> + <dt><span class="term">fopt :</span> + <dd><p class="para">a scalar of 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> + <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> + +<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 "list" and contains the following fields. +<ul class="itemizedlist"><li>Syntax : options= list("MaxIter", [---], "CpuTime", [---], 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("MaxIter", [3000], "CpuTime", [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">The output data structure contains detailed informations about the optimization process. +It has type "struct" 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. +It has type "struct" 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">//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"><</span><span class="scilabcomment">= x1,x2,x3,x4,x5,x6 </span><span class="scilabcomment"><</span><span class="scilabcomment">= 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="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">"</span><span class="scilabstring">MaxIter</span><span class="scilabstring">"</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">"</span><span class="scilabstring">CpuTime</span><span class="scilabstring">"</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">"</span><span class="scilabstring">TolX</span><span class="scilabstring">"</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> + +<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"><</span><span class="scilabcomment">= x </span><span class="scilabcomment"><</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"><</span><span class="scilabcomment">= x1,x2 </span><span class="scilabcomment"><</span><span class="scilabcomment">= inf</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="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">"</span><span class="scilabstring">MaxIter</span><span class="scilabstring">"</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">"</span><span class="scilabstring">CpuTime</span><span class="scilabstring">"</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">"</span><span class="scilabstring">TolX</span><span class="scilabstring">"</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="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="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">R.Vidyadhar , Vignesh Kannan</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="fgoalattain.html"><< fgoalattain</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="fmincon.html">fmincon >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/fmincon.html b/help/en_US/scilab_en_US_help/fmincon.html new file mode 100644 index 0000000..ea3077f --- /dev/null +++ b/help/en_US/scilab_en_US_help/fmincon.html @@ -0,0 +1,305 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>fmincon</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="fminbnd.html"><< fminbnd</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="fminimax.html">fminimax >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > fmincon</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">fmincon</h1> + <p class="refpurpose">Solves a multi-variable constrainted 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">fmincon</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">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">fmincon</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">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">fmincon</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">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">fmincon</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">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">fmincon</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">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">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="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="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="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="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> + <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 'n' 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 'm' 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 'A' 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 'm1' 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 'Aeq' 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 'n' 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 'n' 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> + <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> + <dt><span class="term">fopt :</span> + <dd><p class="para">a scalar of 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> + <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> + <dt><span class="term">gradient :</span> + <dd><p class="para">a vector of doubles, containing the Objective'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'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 "list" and contains the following fields. +<ul class="itemizedlist"><li>Syntax : options= list("MaxIter", [---], "CpuTime", [---], "GradObj", ---, "Hessian", ---, "GradCon", ---);</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 & m3 are number of non-linear inequality and equality constraints respectively.</li> +<li>Default Values : options = list("MaxIter", [3000], "CpuTime", [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 "struct" 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. +It has type "struct" 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> + +<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"><</span><span class="scilabcomment">= 2</span> +<span class="scilabcomment">//constraint-2 (c2): x1 + x2/4 </span><span class="scilabcomment"><</span><span class="scilabcomment">= 1</span> +<span class="scilabcomment">//constraint-3 (c3): x1 - x2 </span><span class="scilabcomment"><</span><span class="scilabcomment">= 2</span> +<span class="scilabcomment">//constraint-4 (c4): -x1/4 - x2 </span><span class="scilabcomment"><</span><span class="scilabcomment">= 1</span> +<span class="scilabcomment">//constraint-5 (c5): -x1 - x2 </span><span class="scilabcomment"><</span><span class="scilabcomment">= -1</span> +<span class="scilabcomment">//constraint-6 (c6): -x1 + x2 </span><span class="scilabcomment"><</span><span class="scilabcomment">= 2</span> +<span class="scilabcomment">//constraint-7 (c7): x1 + 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="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="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</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="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="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">"</span><span class="scilabstring">GradObj</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fGrad</span><span class="scilabdefault">,</span> <span class="scilabstring">"</span><span class="scilabstring">Hessian</span><span class="scilabstring">"</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> + +<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"><</span><span class="scilabcomment">= 2</span> +<span class="scilabcomment">//constraint-2 (c2): x1^2 + x2^2 + x3^2 </span><span class="scilabcomment"><</span><span class="scilabcomment">= 10</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> +<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="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="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="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="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> +<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="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">ceqg</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">"</span><span class="scilabstring">MaxIter</span><span class="scilabstring">"</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">"</span><span class="scilabstring">CpuTime</span><span class="scilabstring">"</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">"</span><span class="scilabstring">GradObj</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fGrad</span><span class="scilabdefault">,</span> <span class="scilabstring">"</span><span class="scilabstring">Hessian</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">lHess</span><span class="scilabdefault">,</span><span class="scilabstring">"</span><span class="scilabstring">GradCon</span><span class="scilabstring">"</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> + +<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"><</span><span class="scilabcomment">= 0</span> +<span class="scilabcomment">// x2 </span><span class="scilabcomment"><</span><span class="scilabcomment">= 0</span> +<span class="scilabcomment">// x3 </span><span class="scilabcomment"><</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">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">"</span><span class="scilabstring">MaxIter</span><span class="scilabstring">"</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">"</span><span class="scilabstring">CpuTime</span><span class="scilabstring">"</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> + +<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"><</span><span class="scilabcomment">= 1</span> +<span class="scilabcomment">//constraint-2 (c2): x1^2 + x2^2 </span><span class="scilabcomment"><</span><span class="scilabcomment">= 1</span> +<span class="scilabcomment">//constraint-3 (c3): x3^2 </span><span class="scilabcomment"><</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"><</span><span class="scilabcomment">= x1 </span><span class="scilabcomment"><</span><span class="scilabcomment">=0.6</span> +<span class="scilabcomment">// 0.2 </span><span class="scilabcomment"><</span><span class="scilabcomment">= x2 </span><span class="scilabcomment"><</span><span class="scilabcomment">= inf</span> +<span class="scilabcomment">// -inf </span><span class="scilabcomment"><</span><span class="scilabcomment">= x3 </span><span class="scilabcomment"><</span><span class="scilabcomment">= 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="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="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="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="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">"</span><span class="scilabstring">MaxIter</span><span class="scilabstring">"</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">"</span><span class="scilabstring">CpuTime</span><span class="scilabstring">"</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">"</span><span class="scilabstring">GradObj</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fGrad</span><span class="scilabdefault">,</span> <span class="scilabstring">"</span><span class="scilabstring">Hessian</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">lHess</span><span class="scilabdefault">,</span><span class="scilabstring">"</span><span class="scilabstring">GradCon</span><span class="scilabstring">"</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></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> + <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="fminbnd.html"><< fminbnd</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="fminimax.html">fminimax >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/fminimax.html b/help/en_US/scilab_en_US_help/fminimax.html new file mode 100644 index 0000000..a701aa7 --- /dev/null +++ b/help/en_US/scilab_en_US_help/fminimax.html @@ -0,0 +1,237 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>fminimax</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="fmincon.html"><< fmincon</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="fminunc.html">fminunc >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > fminimax</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">fminimax</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">fminimax</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">xopt</span><span class="default"> = </span><span class="functionid">fminimax</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">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">fminimax</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">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">fminimax</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">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">fminimax</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">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">fminimax</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">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="default">fmincon</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">fmincon</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">fmincon</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">fmincon</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="default">fmincon</span><span class="default">(.....)</span></pre></div></div> + +<div class="refsection"><h3 class="title">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> + <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">A :</span> + <dd><p class="para">a matrix of double, represents the linear coefficients in the inequality constraints Aâ‹…x ≤ b.</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> + <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> + <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> + <dt><span class="term">lb :</span> + <dd><p class="para">a vector of double, contains 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> + <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> + <dt><span class="term">maxfval:</span> + <dd><p class="para">a 1x1 matrix of doubles, the maximum value in 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> + <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> + <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> + +<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">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 "list" and contains the following fields. +<ul class="itemizedlist"><li>Syntax : options= list("MaxIter", [---], "CpuTime", [---], "GradObj", ---, "GradCon", ---);</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 & m3 are number of non-linear inequality and equality constraints respectively.</li> +<li>Default Values : options = list("MaxIter", [3000], "CpuTime", [600]);</li></ul></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 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 "GradObj" 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">"</span><span class="scilabstring">GradObj</span><span class="scilabstring">"</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 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). +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 "GradCon" 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">"</span><span class="scilabstring">GradCon</span><span class="scilabstring">"</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 "struct" 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. +It has type "struct" 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> + +<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> +<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">// 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">// 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> + +<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> +<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">'</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">'</span> +<span class="scilabinputoutputargs">DCeq</span> <span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabopenclose">]</span><span class="scilaboperator">'</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">"</span><span class="scilabstring">GradObj</span><span class="scilabstring">"</span><span class="scilabdefault">,</span><span class="scilabfunctionid">myfungrad</span><span class="scilabdefault">,</span><span class="scilabstring">"</span><span class="scilabstring">GradCon</span><span class="scilabstring">"</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">// 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">Authors</h3> + <ul class="itemizedlist"><li class="member">Animesh Baranawal</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="fmincon.html"><< fmincon</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="fminunc.html">fminunc >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/fminunc.html b/help/en_US/scilab_en_US_help/fminunc.html new file mode 100644 index 0000000..636ea68 --- /dev/null +++ b/help/en_US/scilab_en_US_help/fminunc.html @@ -0,0 +1,180 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>fminunc</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="fminimax.html"><< fminimax</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="linprog.html">linprog >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > fminunc</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">fminunc</h1> + <p class="refpurpose">Solves a multi-variable unconstrainted 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">fminunc</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">fminunc</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">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">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="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="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="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> + <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 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> + <dt><span class="term">fopt :</span> + <dd><p class="para">a scalar of double, 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> + <dt><span class="term">gradient :</span> + <dd><p class="para">a vector of doubles, containing the the 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> + +<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"><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 "list" and contains the following fields. +<ul class="itemizedlist"><li>Syntax : options= list("MaxIter", [---], "CpuTime", [---], "Gradient", ---, "Hessian", ---);</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("MaxIter", [3000], "CpuTime", [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 "struct" 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"></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> +<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="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">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="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">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="scilaboperator">^</span><span class="scilabnumber">3</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="scilabdefault">,</span> <span class="scilabnumber">200</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="scilabopenclose">]</span><span class="scilabdefault">;</span> +<span class="scilabfkeyword">endfunction</span> +<span class="scilabcomment">//Hessian of Objective Function</span> +<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">fHess</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="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">"</span><span class="scilabstring">MaxIter</span><span class="scilabstring">"</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">"</span><span class="scilabstring">CpuTime</span><span class="scilabstring">"</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">"</span><span class="scilabstring">Gradient</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fGrad</span><span class="scilabdefault">,</span> <span class="scilabstring">"</span><span class="scilabstring">Hessian</span><span class="scilabstring">"</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> +<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> +<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">//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">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="scilabfkeyword">endfunction</span> +<span class="scilabcomment">//Hessian of Objective Function</span> +<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">fHess</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">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">"</span><span class="scilabstring">MaxIter</span><span class="scilabstring">"</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">"</span><span class="scilabstring">CpuTime</span><span class="scilabstring">"</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">"</span><span class="scilabstring">Gradient</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fGrad</span><span class="scilabdefault">,</span> <span class="scilabstring">"</span><span class="scilabstring">Hessian</span><span class="scilabstring">"</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> + +<div class="refsection"><h3 class="title">Authors</h3> + <ul class="itemizedlist"><li class="member">R.Vidyadhar , Vignesh Kannan</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="fminimax.html"><< fminimax</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="linprog.html">linprog >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/index.html b/help/en_US/scilab_en_US_help/index.html new file mode 100644 index 0000000..7bbe95e --- /dev/null +++ b/help/en_US/scilab_en_US_help/index.html @@ -0,0 +1,352 @@ +<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"> + + </td> + <td width="30%" class="next"> + + </td> + </tr></table> + <hr /> + </div> + + + + + <br /><br /> + <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_19f4f1e5726c01d683e8b82be0a7e910.html" class="part">FOSSEE Optimization Toolbox</a> +<ul class="list-chapter"><li><a href="fgoalattain.html" class="refentry">fgoalattain</a> — <span class="refentry-description">Solves a multiobjective goal attainment problem</span></li> + + + + + +<li><a href="fminbnd.html" class="refentry">fminbnd</a> — <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> — <span class="refentry-description">Solves a multi-variable constrainted optimization problem</span></li> + + + + + +<li><a href="fminimax.html" class="refentry">fminimax</a> — <span class="refentry-description">Solves minimax constraint problem</span></li> + + + + + +<li><a href="fminunc.html" class="refentry">fminunc</a> — <span class="refentry-description">Solves a multi-variable unconstrainted optimization problem</span></li> + + + + + +<li><a href="linprog.html" class="refentry">linprog</a> — <span class="refentry-description">Solves a linear programming problem.</span></li> + + + + + +<li><a href="lsqlin.html" class="refentry">lsqlin</a> — <span class="refentry-description">Solves a linear quadratic problem.</span></li> + + + + + +<li><a href="lsqnonneg.html" class="refentry">lsqnonneg</a> — <span class="refentry-description">Solves nonnegative least-squares curve fitting problems.</span></li> + + + + + +<li><a href="qpipopt.html" class="refentry">qpipopt</a> — <span class="refentry-description">Solves a linear quadratic problem.</span></li> + + + + + +<li><a href="qpipoptmat.html" class="refentry">qpipoptmat</a> — <span class="refentry-description">Solves a linear quadratic problem.</span></li> + + + + + +<li><a href="symphony.html" class="refentry">symphony</a> — <span class="refentry-description">Solves a mixed integer linear programming constrained optimization problem.</span></li> + + + + + +<li><a href="symphonymat.html" class="refentry">symphonymat</a> — <span class="refentry-description">Solves a mixed integer linear programming constrained optimization problem in intlinprog format.</span></li> + +<li><a href="section_508f0b211d17ea6769714cc144e6b731.html" class="chapter">Symphony Native Functions</a> +<ul class="list-refentry"><li><a href="sym_addConstr.html" class="refentry">sym_addConstr</a> — <span class="refentry-description">Add a new constraint</span></li> + + + +<li><a href="sym_addVar.html" class="refentry">sym_addVar</a> — <span class="refentry-description">Add a new variable</span></li> + + + +<li><a href="sym_close.html" class="refentry">sym_close</a> — <span class="refentry-description">Close the Symphony environment</span></li> + + + +<li><a href="sym_deleteConstrs.html" class="refentry">sym_deleteConstrs</a> — <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> — <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> — <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> — <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> — <span class="refentry-description">To to get the constraint ranges.</span></li> + + + +<li><a href="sym_getConstrSense.html" class="refentry">sym_getConstrSense</a> — <span class="refentry-description">To get the row senses.</span></li> + + + +<li><a href="sym_getConstrUpper.html" class="refentry">sym_getConstrUpper</a> — <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> — <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> — <span class="refentry-description">Get Symphony's infinity value</span></li> + + + +<li><a href="sym_getIntParam.html" class="refentry">sym_getIntParam</a> — <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> — <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> — <span class="refentry-description">To get the constraint matrix.</span></li> + + + +<li><a href="sym_getNumConstr.html" class="refentry">sym_getNumConstr</a> — <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> — <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> — <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> — <span class="refentry-description">To get the objective vector.</span></li> + + + +<li><a href="sym_getObjSense.html" class="refentry">sym_getObjSense</a> — <span class="refentry-description">Get the objective sense</span></li> + + + +<li><a href="sym_getObjVal.html" class="refentry">sym_getObjVal</a> — <span class="refentry-description">Get the optimized objective value</span></li> + + + +<li><a href="sym_getPrimalBound.html" class="refentry">sym_getPrimalBound</a> — <span class="refentry-description">Get the primal bound of the problem</span></li> + + + +<li><a href="sym_getRhs.html" class="refentry">sym_getRhs</a> — <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> — <span class="refentry-description">To get status of the problem solver.</span></li> + + + +<li><a href="sym_getStrParam.html" class="refentry">sym_getStrParam</a> — <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> — <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> — <span class="refentry-description">Get the solution for the problem</span></li> + + + +<li><a href="sym_getVarUpper.html" class="refentry">sym_getVarUpper</a> — <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> — <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> — <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> — <span class="refentry-description">Check if a variable is continuous</span></li> + + + +<li><a href="sym_isEnvActive.html" class="refentry">sym_isEnvActive</a> — <span class="refentry-description">Check if Symphony environment is active</span></li> + + + +<li><a href="sym_isInfeasible.html" class="refentry">sym_isInfeasible</a> — <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> — <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> — <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> — <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> — <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> — <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> — <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> — <span class="refentry-description">Load a problem into Symphony</span></li> + + + +<li><a href="sym_loadProblemBasic.html" class="refentry">sym_loadProblemBasic</a> — <span class="refentry-description">Load a problem into Symphony (basic version)</span></li> + + + +<li><a href="sym_open.html" class="refentry">sym_open</a> — <span class="refentry-description">Open the Symphony environment</span></li> + + + +<li><a href="sym_resetParams.html" class="refentry">sym_resetParams</a> — <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> — <span class="refentry-description">Set the lower bound of a constraint</span></li> + + + +<li><a href="sym_setConstrType.html" class="refentry">sym_setConstrType</a> — <span class="refentry-description">Set the type of a constraint</span></li> + + + +<li><a href="sym_setConstrUpper.html" class="refentry">sym_setConstrUpper</a> — <span class="refentry-description">Set the upper bound of a constraint</span></li> + + + +<li><a href="sym_setContinuous.html" class="refentry">sym_setContinuous</a> — <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> — <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> — <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> — <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> — <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> — <span class="refentry-description">Set the objective sense</span></li> + + + +<li><a href="sym_setPrimalBound.html" class="refentry">sym_setPrimalBound</a> — <span class="refentry-description">Set the primal bound of the problem</span></li> + + + +<li><a href="sym_setStrParam.html" class="refentry">sym_setStrParam</a> — <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> — <span class="refentry-description">Set lower bound of a variable</span></li> + + + +<li><a href="sym_setVarSoln.html" class="refentry">sym_setVarSoln</a> — <span class="refentry-description">Set a solution for the problem</span></li> + + + +<li><a href="sym_setVarUpper.html" class="refentry">sym_setVarUpper</a> — <span class="refentry-description">Set upper bound of a variable</span></li> + + + +<li><a href="sym_solve.html" class="refentry">sym_solve</a> — <span class="refentry-description">To solve the currently loaded MILP problem from scratch.</span></li></ul></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"> + + </td> + <td width="30%" class="next"> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/jhelpidx.xml b/help/en_US/scilab_en_US_help/jhelpidx.xml new file mode 100644 index 0000000..aa5a66e --- /dev/null +++ b/help/en_US/scilab_en_US_help/jhelpidx.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8" standalone="no"?> +<!DOCTYPE index PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Index Version 1.0//EN" "http://java.sun.com/products/javahelp/index_1_0.dtd"> +<index version="1.0"/>
\ No newline at end of file diff --git a/help/en_US/scilab_en_US_help/jhelpmap.jhm b/help/en_US/scilab_en_US_help/jhelpmap.jhm new file mode 100644 index 0000000..f46a5e3 --- /dev/null +++ b/help/en_US/scilab_en_US_help/jhelpmap.jhm @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="utf-8" standalone="no"?> +<!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_19f4f1e5726c01d683e8b82be0a7e910" url="section_19f4f1e5726c01d683e8b82be0a7e910.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="linprog" url="linprog.html"/> +<mapID target="lsqlin" url="lsqlin.html"/> +<mapID target="lsqnonneg" url="lsqnonneg.html"/> +<mapID target="qpipopt" url="qpipopt.html"/> +<mapID target="qpipoptmat" url="qpipoptmat.html"/> +<mapID target="symphony" url="symphony.html"/> +<mapID target="symphonymat" url="symphonymat.html"/> +<mapID target="section_508f0b211d17ea6769714cc144e6b731" url="section_508f0b211d17ea6769714cc144e6b731.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"/> +<mapID target="sym_deleteConstrs" url="sym_deleteConstrs.html"/> +<mapID target="sym_deleteVars" url="sym_deleteVars.html"/> +<mapID target="sym_getConstrActivity" url="sym_getConstrActivity.html"/> +<mapID target="sym_getConstrLower" url="sym_getConstrLower.html"/> +<mapID target="sym_getConstrRange" url="sym_getConstrRange.html"/> +<mapID target="sym_getConstrSense" url="sym_getConstrSense.html"/> +<mapID target="sym_getConstrUpper" url="sym_getConstrUpper.html"/> +<mapID target="sym_getDblParam" url="sym_getDblParam.html"/> +<mapID target="sym_getInfinity" url="sym_getInfinity.html"/> +<mapID target="sym_getIntParam" url="sym_getIntParam.html"/> +<mapID target="sym_getIterCount" url="sym_getIterCount.html"/> +<mapID target="sym_getMatrix" url="sym_getMatrix.html"/> +<mapID target="sym_getNumConstr" url="sym_getNumConstr.html"/> +<mapID target="sym_getNumElements" url="sym_getNumElements.html"/> +<mapID target="sym_getNumVar" url="sym_getNumVar.html"/> +<mapID target="sym_getObjCoeff" url="sym_getObjCoeff.html"/> +<mapID target="sym_getObjSense" url="sym_getObjSense.html"/> +<mapID target="sym_getObjVal" url="sym_getObjVal.html"/> +<mapID target="sym_getPrimalBound" url="sym_getPrimalBound.html"/> +<mapID target="sym_getRhs" url="sym_getRhs.html"/> +<mapID target="sym_getStatus" url="sym_getStatus.html"/> +<mapID target="sym_getStrParam" url="sym_getStrParam.html"/> +<mapID target="sym_getVarLower" url="sym_getVarLower.html"/> +<mapID target="sym_getVarSoln" url="sym_getVarSoln.html"/> +<mapID target="sym_getVarUpper" url="sym_getVarUpper.html"/> +<mapID target="sym_isAbandoned" url="sym_isAbandoned.html"/> +<mapID target="sym_isBinary" url="sym_isBinary.html"/> +<mapID target="sym_isContinuous" url="sym_isContinuous.html"/> +<mapID target="sym_isEnvActive" url="sym_isEnvActive.html"/> +<mapID target="sym_isInfeasible" url="sym_isInfeasible.html"/> +<mapID target="sym_isInteger" url="sym_isInteger.html"/> +<mapID target="sym_isIterLimitReached" url="sym_isIterLimitReached.html"/> +<mapID target="sym_isOptimal" url="sym_isOptimal.html"/> +<mapID target="sym_isTargetGapAchieved" url="sym_isTargetGapAchieved.html"/> +<mapID target="sym_isTimeLimitReached" url="sym_isTimeLimitReached.html"/> +<mapID target="sym_loadMPS" url="sym_loadMPS.html"/> +<mapID target="sym_loadProblem" url="sym_loadProblem.html"/> +<mapID target="sym_loadProblemBasic" url="sym_loadProblemBasic.html"/> +<mapID target="sym_open" url="sym_open.html"/> +<mapID target="sym_resetParams" url="sym_resetParams.html"/> +<mapID target="sym_setConstrLower" url="sym_setConstrLower.html"/> +<mapID target="sym_setConstrType" url="sym_setConstrType.html"/> +<mapID target="sym_setConstrUpper" url="sym_setConstrUpper.html"/> +<mapID target="sym_setContinuous" url="sym_setContinuous.html"/> +<mapID target="sym_setDblParam" url="sym_setDblParam.html"/> +<mapID target="sym_setIntParam" url="sym_setIntParam.html"/> +<mapID target="sym_setInteger" url="sym_setInteger.html"/> +<mapID target="sym_setObjCoeff" url="sym_setObjCoeff.html"/> +<mapID target="sym_setObjSense" url="sym_setObjSense.html"/> +<mapID target="sym_setPrimalBound" url="sym_setPrimalBound.html"/> +<mapID target="sym_setStrParam" url="sym_setStrParam.html"/> +<mapID target="sym_setVarLower" url="sym_setVarLower.html"/> +<mapID target="sym_setVarSoln" url="sym_setVarSoln.html"/> +<mapID target="sym_setVarUpper" url="sym_setVarUpper.html"/> +<mapID target="sym_solve" url="sym_solve.html"/> +</map>
\ No newline at end of file diff --git a/help/en_US/scilab_en_US_help/jhelpset.hs b/help/en_US/scilab_en_US_help/jhelpset.hs new file mode 100644 index 0000000..373577e --- /dev/null +++ b/help/en_US/scilab_en_US_help/jhelpset.hs @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8" standalone="no"?> +<!DOCTYPE helpset + PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 1.0//EN" "http://java.sun.com/products/javahelp/helpset_1_0.dtd"> +<helpset version="1.0"> +<title>FOSSEE Optimization Toolbox</title> +<maps> +<homeID>top</homeID> +<mapref location="jhelpmap.jhm"/> +</maps> +<view> +<name>TOC</name> +<label>Table Of Contents</label> +<type>javax.help.TOCView</type> +<data>jhelptoc.xml</data> +</view> +<view> +<name>Index</name> +<label>Index</label> +<type>javax.help.IndexView</type> +<data>jhelpidx.xml</data> +</view> +<view> +<name>Search</name> +<label>Search</label> +<type>javax.help.SearchView</type> +<data engine="com.sun.java.help.search.DefaultSearchEngine">JavaHelpSearch</data> +</view> +</helpset>
\ No newline at end of file diff --git a/help/en_US/scilab_en_US_help/jhelptoc.xml b/help/en_US/scilab_en_US_help/jhelptoc.xml new file mode 100644 index 0000000..c4d5a12 --- /dev/null +++ b/help/en_US/scilab_en_US_help/jhelptoc.xml @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="utf-8" standalone="no"?> +<!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_19f4f1e5726c01d683e8b82be0a7e910" text="FOSSEE Optimization Toolbox"> +<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="linprog" text="linprog"/> +<tocitem target="lsqlin" text="lsqlin"/> +<tocitem target="lsqnonneg" text="lsqnonneg"/> +<tocitem target="qpipopt" text="qpipopt"/> +<tocitem target="qpipoptmat" text="qpipoptmat"/> +<tocitem target="symphony" text="symphony"/> +<tocitem target="symphonymat" text="symphonymat"/> +<tocitem target="section_508f0b211d17ea6769714cc144e6b731" 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"/> +<tocitem target="sym_deleteConstrs" text="sym_deleteConstrs"/> +<tocitem target="sym_deleteVars" text="sym_deleteVars"/> +<tocitem target="sym_getConstrActivity" text="sym_getConstrActivity"/> +<tocitem target="sym_getConstrLower" text="sym_getConstrLower"/> +<tocitem target="sym_getConstrRange" text="sym_getConstrRange"/> +<tocitem target="sym_getConstrSense" text="sym_getConstrSense"/> +<tocitem target="sym_getConstrUpper" text="sym_getConstrUpper"/> +<tocitem target="sym_getDblParam" text="sym_getDblParam"/> +<tocitem target="sym_getInfinity" text="sym_getInfinity"/> +<tocitem target="sym_getIntParam" text="sym_getIntParam"/> +<tocitem target="sym_getIterCount" text="sym_getIterCount"/> +<tocitem target="sym_getMatrix" text="sym_getMatrix"/> +<tocitem target="sym_getNumConstr" text="sym_getNumConstr"/> +<tocitem target="sym_getNumElements" text="sym_getNumElements"/> +<tocitem target="sym_getNumVar" text="sym_getNumVar"/> +<tocitem target="sym_getObjCoeff" text="sym_getObjCoeff"/> +<tocitem target="sym_getObjSense" text="sym_getObjSense"/> +<tocitem target="sym_getObjVal" text="sym_getObjVal"/> +<tocitem target="sym_getPrimalBound" text="sym_getPrimalBound"/> +<tocitem target="sym_getRhs" text="sym_getRhs"/> +<tocitem target="sym_getStatus" text="sym_getStatus"/> +<tocitem target="sym_getStrParam" text="sym_getStrParam"/> +<tocitem target="sym_getVarLower" text="sym_getVarLower"/> +<tocitem target="sym_getVarSoln" text="sym_getVarSoln"/> +<tocitem target="sym_getVarUpper" text="sym_getVarUpper"/> +<tocitem target="sym_isAbandoned" text="sym_isAbandoned"/> +<tocitem target="sym_isBinary" text="sym_isBinary"/> +<tocitem target="sym_isContinuous" text="sym_isContinuous"/> +<tocitem target="sym_isEnvActive" text="sym_isEnvActive"/> +<tocitem target="sym_isInfeasible" text="sym_isInfeasible"/> +<tocitem target="sym_isInteger" text="sym_isInteger"/> +<tocitem target="sym_isIterLimitReached" text="sym_isIterLimitReached"/> +<tocitem target="sym_isOptimal" text="sym_isOptimal"/> +<tocitem target="sym_isTargetGapAchieved" text="sym_isTargetGapAchieved"/> +<tocitem target="sym_isTimeLimitReached" text="sym_isTimeLimitReached"/> +<tocitem target="sym_loadMPS" text="sym_loadMPS"/> +<tocitem target="sym_loadProblem" text="sym_loadProblem"/> +<tocitem target="sym_loadProblemBasic" text="sym_loadProblemBasic"/> +<tocitem target="sym_open" text="sym_open"/> +<tocitem target="sym_resetParams" text="sym_resetParams"/> +<tocitem target="sym_setConstrLower" text="sym_setConstrLower"/> +<tocitem target="sym_setConstrType" text="sym_setConstrType"/> +<tocitem target="sym_setConstrUpper" text="sym_setConstrUpper"/> +<tocitem target="sym_setContinuous" text="sym_setContinuous"/> +<tocitem target="sym_setDblParam" text="sym_setDblParam"/> +<tocitem target="sym_setIntParam" text="sym_setIntParam"/> +<tocitem target="sym_setInteger" text="sym_setInteger"/> +<tocitem target="sym_setObjCoeff" text="sym_setObjCoeff"/> +<tocitem target="sym_setObjSense" text="sym_setObjSense"/> +<tocitem target="sym_setPrimalBound" text="sym_setPrimalBound"/> +<tocitem target="sym_setStrParam" text="sym_setStrParam"/> +<tocitem target="sym_setVarLower" text="sym_setVarLower"/> +<tocitem target="sym_setVarSoln" text="sym_setVarSoln"/> +<tocitem target="sym_setVarUpper" text="sym_setVarUpper"/> +<tocitem target="sym_solve" text="sym_solve"/> +</tocitem> +</tocitem> +</tocitem> +</toc>
\ No newline at end of file diff --git a/help/en_US/scilab_en_US_help/linprog.html b/help/en_US/scilab_en_US_help/linprog.html new file mode 100644 index 0000000..157265a --- /dev/null +++ b/help/en_US/scilab_en_US_help/linprog.html @@ -0,0 +1,192 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>linprog</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"><< fminunc</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="lsqlin.html">lsqlin >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > linprog</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">linprog</h1> + <p class="refpurpose">Solves a 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">linprog</span><span class="default">(</span><span class="default">c</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">linprog</span><span class="default">(</span><span class="default">c</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">linprog</span><span class="default">(</span><span class="default">c</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">linprog</span><span class="default">(</span><span class="default">c</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">param</span><span class="default">)</span> +<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">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> + <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">A :</span> + <dd><p class="para">a matrix of double, represents the linear coefficients in the inequality constraints Aâ‹…x ≤ b.</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> + <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> + <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> + <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> + <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> + <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">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> + <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> + <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> + <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> + +<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 "list" and contains the following fields. In the current version it only contains maxiter. +<ul class="itemizedlist"><li>Syntax : options= list("MaxIter", [---]);</li> +<li>MaxIter : a Scalar, containing the Maximum Number of Iteration that the solver should take.</li> +<li>Default Values : options = list("MaxIter", [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 "struct" and contains the following fields. +<ul class="itemizedlist"><li>output.iterations: The number of iterations performed during the search</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. +It has type "struct" 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> +<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">'</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> +<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">'</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="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="scilaboperator">/</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</span> +<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilaboperator">/</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="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> +<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">'</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="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="scilaboperator">/</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</span> +<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">1</span><span class="scilaboperator">/</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</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="scilabnumber">0.5</span><span class="scilabopenclose">]</span> +<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">Examples</h3> + <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//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">'</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> +<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">5</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="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span> +<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">10</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">]</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="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</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="scilabdefault">,</span><span class="scilabconstants">%inf</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">Examples</h3> + <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Dual Infeasible 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">'</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> +<span class="scilabid">Aeq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span> +<span class="scilabid">beq</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabopenclose">]</span> +<span class="scilabid">lb</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="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</span><span class="scilabopenclose">]</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="scilabdefault">,</span><span class="scilabconstants">%inf</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">Examples</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">'</span><span class="scilabstring">linprog.dem.sce</span><span class="scilabstring">'</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">"</span><span class="scilabstring">exmip1.mps</span><span class="scilabstring">"</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 /> + + <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"><< fminunc</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="lsqlin.html">lsqlin >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/lsqlin.html b/help/en_US/scilab_en_US_help/lsqlin.html new file mode 100644 index 0000000..1343385 --- /dev/null +++ b/help/en_US/scilab_en_US_help/lsqlin.html @@ -0,0 +1,175 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>lsqlin</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="linprog.html"><< linprog</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="lsqnonneg.html">lsqnonneg >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > lsqlin</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">lsqlin</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">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">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">[</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> + <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">A :</span> + <dd><p class="para">a matrix of double, represents the linear coefficients in the inequality constraints Aâ‹…x ≤ b.</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> + <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> + <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> + <dt><span class="term">lb :</span> + <dd><p class="para">a vector of double, contains 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> + <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> + <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> + <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> + <dt><span class="term">exitflag :</span> + <dd><p class="para">The exit status. 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> + <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> + +<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 "list" and contains the following fields. +<ul class="itemizedlist"><li>Syntax : options= list("MaxIter", [---], "CpuTime", [---]);</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("MaxIter", [3000], "CpuTime", [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 "struct" and contains the following fields. +<ul class="itemizedlist"><li>output.iterations: The number of iterations performed during the search</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. +It has type "struct" 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">//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> +<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">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="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="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">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="linprog.html"><< linprog</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="lsqnonneg.html">lsqnonneg >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/lsqnonneg.html b/help/en_US/scilab_en_US_help/lsqnonneg.html new file mode 100644 index 0000000..a095226 --- /dev/null +++ b/help/en_US/scilab_en_US_help/lsqnonneg.html @@ -0,0 +1,129 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>lsqnonneg</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="lsqlin.html"><< lsqlin</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="qpipopt.html">qpipopt >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > lsqnonneg</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">lsqnonneg</h1> + <p class="refpurpose">Solves nonnegative least-squares curve fitting problems.</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">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">[</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> + <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> + <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> + <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> + <dt><span class="term">exitflag :</span> + <dd><p class="para">The exit status. 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> + <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> + +<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 "list" and contains the following fields. +<ul class="itemizedlist"><li>Syntax : options= list("MaxIter", [---], "CpuTime", [---]);</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("MaxIter", [3000], "CpuTime", [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 "struct" and contains the following fields. +<ul class="itemizedlist"><li>output.iterations: The number of iterations performed during the search</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. +It has type "struct" 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> +<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="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">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="lsqlin.html"><< lsqlin</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="qpipopt.html">qpipopt >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/qpipopt.html b/help/en_US/scilab_en_US_help/qpipopt.html new file mode 100644 index 0000000..1a6911b --- /dev/null +++ b/help/en_US/scilab_en_US_help/qpipopt.html @@ -0,0 +1,175 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>qpipopt</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="lsqnonneg.html"><< lsqnonneg</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="qpipoptmat.html">qpipoptmat >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > qpipopt</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">qpipopt</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">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">[</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> + <dl><dt><span class="term">nbVar :</span> + <dd><p class="para">a double, number of variables</p></dd></dt> + <dt><span class="term">nbCon :</span> + <dd><p class="para">a double, 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> + <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> + <dt><span class="term">lb :</span> + <dd><p class="para">a vector of double, contains 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> + <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> + <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> + <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> + <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> + <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">exitflag :</span> + <dd><p class="para">The exit status. 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> + <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> + +<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 "list" and contains the following fields. +<ul class="itemizedlist"><li>Syntax : options= list("MaxIter", [---], "CpuTime", [---]);</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("MaxIter", [3000], "CpuTime", [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 "struct" and contains the following fields. +<ul class="itemizedlist"><li>output.iterations: The number of iterations performed during the search</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. +It has type "struct" 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> +<span class="scilabcomment">// such that</span> +<span class="scilabcomment">// x1 + x2 </span><span class="scilabcomment"><</span><span class="scilabcomment">= 5,</span> +<span class="scilabcomment">// x1 </span><span class="scilabcomment"><</span><span class="scilabcomment">= 3,</span> +<span class="scilabcomment">// x1 </span><span class="scilabcomment">></span><span class="scilabcomment">= 0,</span> +<span class="scilabcomment">// x2 </span><span class="scilabcomment">></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">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="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">'</span><span class="scilabcomment">â‹…Hâ‹…x + f</span><span class="scilabcomment">'</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">"</span><span class="scilabstring">MaxIter</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabnumber">300</span><span class="scilabdefault">,</span> <span class="scilabstring">"</span><span class="scilabstring">CpuTime</span><span class="scilabstring">"</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">Authors</h3> + <ul class="itemizedlist"><li class="member">Keyur Joshi, Saikiran, Iswarya, 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="lsqnonneg.html"><< lsqnonneg</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="qpipoptmat.html">qpipoptmat >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/qpipoptmat.html b/help/en_US/scilab_en_US_help/qpipoptmat.html new file mode 100644 index 0000000..f5498bf --- /dev/null +++ b/help/en_US/scilab_en_US_help/qpipoptmat.html @@ -0,0 +1,171 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>qpipoptmat</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="qpipopt.html"><< qpipopt</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="symphony.html">symphony >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > qpipoptmat</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">qpipoptmat</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">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">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">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">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">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">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> + <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> + <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> + <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> + <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> + <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> + <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> + <dt><span class="term">lb :</span> + <dd><p class="para">a vector of double, contains 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> + <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> + <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">exitflag :</span> + <dd><p class="para">The exit status. 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> + <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> + +<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 "list" and contains the following fields. +<ul class="itemizedlist"><li>Syntax : options= list("MaxIter", [---], "CpuTime", [---]);</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("MaxIter", [3000], "CpuTime", [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 "struct" and contains the following fields. +<ul class="itemizedlist"><li>output.iterations: The number of iterations performed during the search</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. +It has type "struct" 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> +<span class="scilabcomment">// such that</span> +<span class="scilabcomment">// x1 + x2 </span><span class="scilabcomment"><</span><span class="scilabcomment">= 5,</span> +<span class="scilabcomment">// x1 </span><span class="scilabcomment"><</span><span class="scilabcomment">= 3,</span> +<span class="scilabcomment">// x1 </span><span class="scilabcomment">></span><span class="scilabcomment">= 0,</span> +<span class="scilabcomment">// x2 </span><span class="scilabcomment">></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> +<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="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="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="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">"</span><span class="scilabstring">MaxIter</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabnumber">300</span><span class="scilabdefault">,</span> <span class="scilabstring">"</span><span class="scilabstring">CpuTime</span><span class="scilabstring">"</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">'</span><span class="scilabcomment">*H*x + f</span><span class="scilabcomment">'</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> + +<div class="refsection"><h3 class="title">Authors</h3> + <ul class="itemizedlist"><li class="member">Keyur Joshi, Saikiran, Iswarya, 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="qpipopt.html"><< qpipopt</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="symphony.html">symphony >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/scilab_code.css b/help/en_US/scilab_en_US_help/scilab_code.css new file mode 100644 index 0000000..658f42e --- /dev/null +++ b/help/en_US/scilab_en_US_help/scilab_code.css @@ -0,0 +1,96 @@ +.scilabcomment { + font-style: italic; + color: #01a801 +} + +.scilabdefault { + font-style: normal; + color: #000000 +} + +.scilabspecial { + font-style: normal; + color: #ffaa00 +} + +.scilabconstants { + font-style: normal; + color: #da70d6 +} + +.scilaboperator { + font-style: normal; + color: #5c5c5c +} + +.scilabnumber { + font-style: normal; + color: #bc8f8f +} + +.scilabfkeyword { + font-style: normal; + color: #b01813 +} + +.scilabskeyword { + font-style: normal; + color: #a020f0 +} + +.scilabckeyword { + font-style: normal; + color: #5f9ea0 +} + +.scilabcommand { + font-style: normal; + color: #32b9b9 +} + +.scilabmacro { + font-style: normal; + color: #ae5cb0 +} + +a.scilabcommand { + font-style: normal; + text-decoration: underline; + color: #32b9b9 +} + +a.scilabmacro { + font-style: normal; + text-decoration: underline; + color: #ae5cb0 +} + +.scilabstring { + font-style: normal; + color: #bc8f8f +} + +.scilabid { + font-style: normal; + color: #000000 +} + +.scilabinputoutputargs { + font-weight: bold; + color: #834310 +} + +.scilabfunctionid { + font-weight: bold; + color: #000000 +} + +.scilabfield { + font-style: normal; + color: #aaaaaa +} + +.scilabopenclose { + font-style: normal; + color: #4a55db +} diff --git a/help/en_US/scilab_en_US_help/section_19f4f1e5726c01d683e8b82be0a7e910.html b/help/en_US/scilab_en_US_help/section_19f4f1e5726c01d683e8b82be0a7e910.html new file mode 100644 index 0000000..b34093f --- /dev/null +++ b/help/en_US/scilab_en_US_help/section_19f4f1e5726c01d683e8b82be0a7e910.html @@ -0,0 +1,352 @@ +<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> >> 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> — <span class="refentry-description">Solves a multiobjective goal attainment problem</span></li> + + + + + +<li><a href="fminbnd.html" class="refentry">fminbnd</a> — <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> — <span class="refentry-description">Solves a multi-variable constrainted optimization problem</span></li> + + + + + +<li><a href="fminimax.html" class="refentry">fminimax</a> — <span class="refentry-description">Solves minimax constraint problem</span></li> + + + + + +<li><a href="fminunc.html" class="refentry">fminunc</a> — <span class="refentry-description">Solves a multi-variable unconstrainted optimization problem</span></li> + + + + + +<li><a href="linprog.html" class="refentry">linprog</a> — <span class="refentry-description">Solves a linear programming problem.</span></li> + + + + + +<li><a href="lsqlin.html" class="refentry">lsqlin</a> — <span class="refentry-description">Solves a linear quadratic problem.</span></li> + + + + + +<li><a href="lsqnonneg.html" class="refentry">lsqnonneg</a> — <span class="refentry-description">Solves nonnegative least-squares curve fitting problems.</span></li> + + + + + +<li><a href="qpipopt.html" class="refentry">qpipopt</a> — <span class="refentry-description">Solves a linear quadratic problem.</span></li> + + + + + +<li><a href="qpipoptmat.html" class="refentry">qpipoptmat</a> — <span class="refentry-description">Solves a linear quadratic problem.</span></li> + + + + + +<li><a href="symphony.html" class="refentry">symphony</a> — <span class="refentry-description">Solves a mixed integer linear programming constrained optimization problem.</span></li> + + + + + +<li><a href="symphonymat.html" class="refentry">symphonymat</a> — <span class="refentry-description">Solves a mixed integer linear programming constrained optimization problem in intlinprog format.</span></li> + +<li><a href="section_508f0b211d17ea6769714cc144e6b731.html" class="chapter">Symphony Native Functions</a> +<ul class="list-refentry"><li><a href="sym_addConstr.html" class="refentry">sym_addConstr</a> — <span class="refentry-description">Add a new constraint</span></li> + + + +<li><a href="sym_addVar.html" class="refentry">sym_addVar</a> — <span class="refentry-description">Add a new variable</span></li> + + + +<li><a href="sym_close.html" class="refentry">sym_close</a> — <span class="refentry-description">Close the Symphony environment</span></li> + + + +<li><a href="sym_deleteConstrs.html" class="refentry">sym_deleteConstrs</a> — <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> — <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> — <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> — <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> — <span class="refentry-description">To to get the constraint ranges.</span></li> + + + +<li><a href="sym_getConstrSense.html" class="refentry">sym_getConstrSense</a> — <span class="refentry-description">To get the row senses.</span></li> + + + +<li><a href="sym_getConstrUpper.html" class="refentry">sym_getConstrUpper</a> — <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> — <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> — <span class="refentry-description">Get Symphony's infinity value</span></li> + + + +<li><a href="sym_getIntParam.html" class="refentry">sym_getIntParam</a> — <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> — <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> — <span class="refentry-description">To get the constraint matrix.</span></li> + + + +<li><a href="sym_getNumConstr.html" class="refentry">sym_getNumConstr</a> — <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> — <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> — <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> — <span class="refentry-description">To get the objective vector.</span></li> + + + +<li><a href="sym_getObjSense.html" class="refentry">sym_getObjSense</a> — <span class="refentry-description">Get the objective sense</span></li> + + + +<li><a href="sym_getObjVal.html" class="refentry">sym_getObjVal</a> — <span class="refentry-description">Get the optimized objective value</span></li> + + + +<li><a href="sym_getPrimalBound.html" class="refentry">sym_getPrimalBound</a> — <span class="refentry-description">Get the primal bound of the problem</span></li> + + + +<li><a href="sym_getRhs.html" class="refentry">sym_getRhs</a> — <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> — <span class="refentry-description">To get status of the problem solver.</span></li> + + + +<li><a href="sym_getStrParam.html" class="refentry">sym_getStrParam</a> — <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> — <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> — <span class="refentry-description">Get the solution for the problem</span></li> + + + +<li><a href="sym_getVarUpper.html" class="refentry">sym_getVarUpper</a> — <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> — <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> — <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> — <span class="refentry-description">Check if a variable is continuous</span></li> + + + +<li><a href="sym_isEnvActive.html" class="refentry">sym_isEnvActive</a> — <span class="refentry-description">Check if Symphony environment is active</span></li> + + + +<li><a href="sym_isInfeasible.html" class="refentry">sym_isInfeasible</a> — <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> — <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> — <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> — <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> — <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> — <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> — <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> — <span class="refentry-description">Load a problem into Symphony</span></li> + + + +<li><a href="sym_loadProblemBasic.html" class="refentry">sym_loadProblemBasic</a> — <span class="refentry-description">Load a problem into Symphony (basic version)</span></li> + + + +<li><a href="sym_open.html" class="refentry">sym_open</a> — <span class="refentry-description">Open the Symphony environment</span></li> + + + +<li><a href="sym_resetParams.html" class="refentry">sym_resetParams</a> — <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> — <span class="refentry-description">Set the lower bound of a constraint</span></li> + + + +<li><a href="sym_setConstrType.html" class="refentry">sym_setConstrType</a> — <span class="refentry-description">Set the type of a constraint</span></li> + + + +<li><a href="sym_setConstrUpper.html" class="refentry">sym_setConstrUpper</a> — <span class="refentry-description">Set the upper bound of a constraint</span></li> + + + +<li><a href="sym_setContinuous.html" class="refentry">sym_setContinuous</a> — <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> — <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> — <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> — <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> — <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> — <span class="refentry-description">Set the objective sense</span></li> + + + +<li><a href="sym_setPrimalBound.html" class="refentry">sym_setPrimalBound</a> — <span class="refentry-description">Set the primal bound of the problem</span></li> + + + +<li><a href="sym_setStrParam.html" class="refentry">sym_setStrParam</a> — <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> — <span class="refentry-description">Set lower bound of a variable</span></li> + + + +<li><a href="sym_setVarSoln.html" class="refentry">sym_setVarSoln</a> — <span class="refentry-description">Set a solution for the problem</span></li> + + + +<li><a href="sym_setVarUpper.html" class="refentry">sym_setVarUpper</a> — <span class="refentry-description">Set upper bound of a variable</span></li> + + + +<li><a href="sym_solve.html" class="refentry">sym_solve</a> — <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_508f0b211d17ea6769714cc144e6b731.html b/help/en_US/scilab_en_US_help/section_508f0b211d17ea6769714cc144e6b731.html new file mode 100644 index 0000000..b3b3135 --- /dev/null +++ b/help/en_US/scilab_en_US_help/section_508f0b211d17ea6769714cc144e6b731.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"><< symphonymat</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.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> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > 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> — <span class="refentry-description">Add a new constraint</span></li> + + + +<li><a href="sym_addVar.html" class="refentry">sym_addVar</a> — <span class="refentry-description">Add a new variable</span></li> + + + +<li><a href="sym_close.html" class="refentry">sym_close</a> — <span class="refentry-description">Close the Symphony environment</span></li> + + + +<li><a href="sym_deleteConstrs.html" class="refentry">sym_deleteConstrs</a> — <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> — <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> — <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> — <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> — <span class="refentry-description">To to get the constraint ranges.</span></li> + + + +<li><a href="sym_getConstrSense.html" class="refentry">sym_getConstrSense</a> — <span class="refentry-description">To get the row senses.</span></li> + + + +<li><a href="sym_getConstrUpper.html" class="refentry">sym_getConstrUpper</a> — <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> — <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> — <span class="refentry-description">Get Symphony's infinity value</span></li> + + + +<li><a href="sym_getIntParam.html" class="refentry">sym_getIntParam</a> — <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> — <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> — <span class="refentry-description">To get the constraint matrix.</span></li> + + + +<li><a href="sym_getNumConstr.html" class="refentry">sym_getNumConstr</a> — <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> — <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> — <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> — <span class="refentry-description">To get the objective vector.</span></li> + + + +<li><a href="sym_getObjSense.html" class="refentry">sym_getObjSense</a> — <span class="refentry-description">Get the objective sense</span></li> + + + +<li><a href="sym_getObjVal.html" class="refentry">sym_getObjVal</a> — <span class="refentry-description">Get the optimized objective value</span></li> + + + +<li><a href="sym_getPrimalBound.html" class="refentry">sym_getPrimalBound</a> — <span class="refentry-description">Get the primal bound of the problem</span></li> + + + +<li><a href="sym_getRhs.html" class="refentry">sym_getRhs</a> — <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> — <span class="refentry-description">To get status of the problem solver.</span></li> + + + +<li><a href="sym_getStrParam.html" class="refentry">sym_getStrParam</a> — <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> — <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> — <span class="refentry-description">Get the solution for the problem</span></li> + + + +<li><a href="sym_getVarUpper.html" class="refentry">sym_getVarUpper</a> — <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> — <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> — <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> — <span class="refentry-description">Check if a variable is continuous</span></li> + + + +<li><a href="sym_isEnvActive.html" class="refentry">sym_isEnvActive</a> — <span class="refentry-description">Check if Symphony environment is active</span></li> + + + +<li><a href="sym_isInfeasible.html" class="refentry">sym_isInfeasible</a> — <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> — <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> — <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> — <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> — <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> — <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> — <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> — <span class="refentry-description">Load a problem into Symphony</span></li> + + + +<li><a href="sym_loadProblemBasic.html" class="refentry">sym_loadProblemBasic</a> — <span class="refentry-description">Load a problem into Symphony (basic version)</span></li> + + + +<li><a href="sym_open.html" class="refentry">sym_open</a> — <span class="refentry-description">Open the Symphony environment</span></li> + + + +<li><a href="sym_resetParams.html" class="refentry">sym_resetParams</a> — <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> — <span class="refentry-description">Set the lower bound of a constraint</span></li> + + + +<li><a href="sym_setConstrType.html" class="refentry">sym_setConstrType</a> — <span class="refentry-description">Set the type of a constraint</span></li> + + + +<li><a href="sym_setConstrUpper.html" class="refentry">sym_setConstrUpper</a> — <span class="refentry-description">Set the upper bound of a constraint</span></li> + + + +<li><a href="sym_setContinuous.html" class="refentry">sym_setContinuous</a> — <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> — <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> — <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> — <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> — <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> — <span class="refentry-description">Set the objective sense</span></li> + + + +<li><a href="sym_setPrimalBound.html" class="refentry">sym_setPrimalBound</a> — <span class="refentry-description">Set the primal bound of the problem</span></li> + + + +<li><a href="sym_setStrParam.html" class="refentry">sym_setStrParam</a> — <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> — <span class="refentry-description">Set lower bound of a variable</span></li> + + + +<li><a href="sym_setVarSoln.html" class="refentry">sym_setVarSoln</a> — <span class="refentry-description">Set a solution for the problem</span></li> + + + +<li><a href="sym_setVarUpper.html" class="refentry">sym_setVarUpper</a> — <span class="refentry-description">Set upper bound of a variable</span></li> + + + +<li><a href="sym_solve.html" class="refentry">sym_solve</a> — <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"><< symphonymat</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.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/style.css b/help/en_US/scilab_en_US_help/style.css new file mode 100644 index 0000000..0fe8923 --- /dev/null +++ b/help/en_US/scilab_en_US_help/style.css @@ -0,0 +1,350 @@ +body { + color:#000000; + background-color:#ffffff; + font-family:sans-serif; + font-size:100%; + margin:5px; + padding:0; + background : url("/img/body.png"); + background-repeat : repeat-x; +} + +.para { + padding-left: 10px; +} + +.refname { + color: #ff6c0a; +} +.refpurpose { + font-size: 110%; +} + +.synopsis { + border: 1px solid black; + width:80%; + padding: 0.5em; +} + +.editbar { + text-align: right; +} + +.term { + color:#800000; + font-size:100%; +} + +h3 { + color: #000063; + font-weight: bold; + font-size:130%; + margin-bottom: 10px; +} + +.programlisting { + font-family: monospace; + font-size: 100%; + background-color:#EEEEFF; + border-color:#CCCCCC; + border-style:solid; + border-width:2px medium; + width:80%; + color:#333333; + line-height:120%; + padding:10px; +} + +.literal { + font-family: monospace; + font-size: 100%; +} + +.option { + font-family: monospace; + font-style: italic; + font-size: 100%; +} + +.command { + font-family: monospace; + font-size: 100%; + color: #32b9b9; +} + +.function { + font-family: monospace; + font-size: 100%; + color: #32b9b9; +} + +.varname { + font-family: monospace; + font-weight: bold; + font-size: 100%; +} + +.constant { + font-family: monospace; + font-size: 100%; + color: #da70d6; +} + +a { + color: blue; + text-decoration:none; +} + +a:hover { + text-decoration:underline; +} + +.itemizedlist { + list-style-type: disk; +} + +.inline-list li { + display: inline; + list-style-type: disk; +} + +.vert-list { + list-style-type: disk; +} + +pre { + margin-bottom: 0px; + margin-top: 0px; +} + +.leftpart { + position:absolute; + float:left; + width: 186px; + padding: 5px; + font-size: smaller; +} + +.content { + margin-top: 100px; + margin-left: 196px +} + +.container { + margin: 0 auto; + width:1024px; +} + +ul.toc li.list-active { + list-style-type:disc; + font-weight:bold; +} + +ul.toc li.parent { + font-size: 115%; + padding: 5px 0px 5px 11px; + border-bottom: 1px solid #cccccc; + margin-bottom: 5px; +} + +ul.toc li.root { + font-size: 135%; + padding: 5px 0px 5px 11px; + border-bottom: 1px solid #cccccc; + margin-bottom: 5px; +} + +ul.toc li { + font-size: 85%; + margin: 1px 0 1px 1px; + padding: 1px 0 1px 11px; + background-repeat: no-repeat; + background-position: center left; + list-style-type: circle; +} + +.next { + float:right; + text-align: right; +} + +.center { + text-align: center; +} + +.screen { + font-family: monospace; + font-size: 100%; + background-color:#FFFFFF; + border-color:#CCCCCC; + border-style:solid; + border-width:2px medium; + width:80%; + color:#333333; + line-height:120%; + padding:10px; +} + +/* Top and bottom navigation controls on manual pages --------------------- */ +div.manualnavbar { + background-color: #E0E0E0; + color: inherit; + padding: 4px; + margin-bottom: 10px; +} +div.manualnavbar .prev { + padding-right: 4px; +} +div.manualnavbar .next { + text-align: right; + padding-left: 4px; +} + +div.manualnavbar .top { + text-align: center; + display: block; +} + +div.manualnavbar hr { + color: #cccccc; + background-color: #cccccc; +} + +/* Footer navigation area ------------------------------------------------- */ + +#pagefooter { + position: relative; + font-size: 75%; + color: inherit; + background-color: #e5e5e5; + width: 100%; +} + +#pagefooterleft { + top: 0px; + left: 0px; + padding: 6px; + margin-right: 30%; +} + +#pagefooterright { + text-align: right; + margin-left: 50%; + padding: 6px; +} +#footnav { + color: inherit; + background-color: #9999cc; + border-width: 1px 0px; + border-color: #333366; + border-style: solid; + text-align: right; + padding-right: 6px; +} + + + + + #global{ +/* width: 90%; */ + max-width: 90em; +/* min-width: 850px; */ + margin-left: auto; + margin-right: auto; + } + + #myHeader{ + background-color:#000000; + color:white; + margin-bottom : 10px; + position : relative; + text-align: center; +/* width : 1024px;*/ + height : 100px; + padding-left : 20px; + background : url("http://atoms.scilab.org/images/homepage/cadre_head.png"); + background-repeat : no-repeat; + background-position : 0px 0px; + + } + + #myFooter{ + background-color:#E5E5E5; + font-color:black; +/* width: 90%;*/ + max-width: 90em; +/* min-width: 850px; + margin-left: 5%; + margin-right: 5%;*/ + margin-top:10px; + padding:10px; + } + + #mainArea{ + width: 100%; + overflow: hidden; + } + + #myLeftArea{ + color:white; + float: left; + width: 180px; + padding:5px; + } + + #myMiddleArea{ + color:black; + margin-left: 200px; + padding: 10px 20px; + } + + #myRightArea{ + color:white; + float: right; + width: 200px; + padding: 12px 20px; + } + + +div#cadre_head +{ + position : relative; + text-align: center; +/* width : 1024px;*/ + height : 100px; + padding-left : 20px; + background : url("/img/cadre_head.png"); + background-repeat : no-repeat; + background-position : 0px 0px; +} + + +div#slogan{ + position: absolute; + top : 50px; + left:251px; + color:#0000AA; + font: 120%, Georgia,Serif; +} +div#cadre_help +{ + position: absolute; + top:45px; + right:0px; + font-size:0.8em; + color:#0000AA; +} + +table.revhistory +{ + width:80%; + border-color:#CCCCCC; + border-style:solid; + border-width:2px medium; + margin-bottom: 10px; +} + +table.revhistory tr.title td +{ + background-color: #9999CC; +}
\ No newline at end of file diff --git a/help/en_US/scilab_en_US_help/sym_addConstr.html b/help/en_US/scilab_en_US_help/sym_addConstr.html new file mode 100644 index 0000000..230d2f8 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_addConstr.html @@ -0,0 +1,91 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_addConstr</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_508f0b211d17ea6769714cc144e6b731.html"><< Symphony Native Functions</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_addVar.html">sym_addVar >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_addConstr</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_addConstr</h1> + <p class="refpurpose">Add a new constraint</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_addConstr</span><span class="default">(</span><span class="default">coeff</span><span class="default">,</span><span class="default">type</span><span class="default">,</span><span class="default">bound1</span><span class="default">[,</span><span class="default">bound2</span><span class="default">])</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This function adds a new constraint from scratch. Supported types of constraints are less than or equal to, more than or equal to, equal to, or ranged.</p> + <p class="para">The last argument is only required for ranged constraints. For the other types of constraints, only the third argument is required.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">coeff</span> + <dd><p class="para">Sparse matrix representing coefficients of the variables in the new constraint (must have 1 row and number of columns equal to number of variables)</p></dd></dt> + <dt><span class="term">type</span> + <dd><p class="para">Type of the new constraint. Supported types: less than or equal to ("L"), greater than or equal to ("G"), equal to ("E"), or ranged ("R")</p></dd></dt> + <dt><span class="term">bound1</span> + <dd><p class="para">The first (or only) bound for the constraint</p></dd></dt> + <dt><span class="term">bound2</span> + <dd><p class="para">The second bound for ranged constraints. The two bounds for ranged constraints can be in any order.</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0</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="scilabid">sym_addConstr</span><span class="scilabopenclose">(</span><a class="scilabcommand" href="scilab://sparse">sparse</a><span class="scilabopenclose">(</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">1</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="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabstring">"</span><span class="scilabstring">R</span><span class="scilabstring">"</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabnumber">10</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 class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">sym_addConstr</span><span class="scilabopenclose">(</span><a class="scilabcommand" href="scilab://sparse">sparse</a><span class="scilabopenclose">(</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">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="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabstring">"</span><span class="scilabstring">G</span><span class="scilabstring">"</span><span class="scilabdefault">,</span><span class="scilabnumber">4</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</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_508f0b211d17ea6769714cc144e6b731.html"><< Symphony Native Functions</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_addVar.html">sym_addVar >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_addVar.html b/help/en_US/scilab_en_US_help/sym_addVar.html new file mode 100644 index 0000000..29cb8c6 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_addVar.html @@ -0,0 +1,93 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_addVar</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="sym_addConstr.html"><< sym_addConstr</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_close.html">sym_close >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_addVar</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_addVar</h1> + <p class="refpurpose">Add a new variable</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_addVar</span><span class="default">(</span><span class="default">coeff</span><span class="default">,</span><span class="default">lower</span><span class="default">,</span><span class="default">upper</span><span class="default">,</span><span class="default">obj</span><span class="default">,</span><span class="default">isInt</span><span class="default">,</span><span class="default">name</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This function adds a new variable from scratch.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">coeff</span> + <dd><p class="para">Sparse matrix representing coefficients of the new variable in the existing constraints (must have 1 column and number of rows equal to number of constraints)</p></dd></dt> + <dt><span class="term">lower</span> + <dd><p class="para">Lower bound of the new variable</p></dd></dt> + <dt><span class="term">upper</span> + <dd><p class="para">Upper bound of the new variable</p></dd></dt> + <dt><span class="term">obj</span> + <dd><p class="para">Coefficient of the variable in the objective function</p></dd></dt> + <dt><span class="term">isInt</span> + <dd><p class="para">Wether the variable is constrainted to be an integer (boolean %t or %f)</p></dd></dt> + <dt><span class="term">name</span> + <dd><p class="para">Name of the new variable</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0</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="scilabid">sym_addVar</span><span class="scilabopenclose">(</span><a class="scilabcommand" href="scilab://sparse">sparse</a><span class="scilabopenclose">(</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">1</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="scilabopenclose">]</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilabconstants">%inf</span><span class="scilabdefault">,</span><span class="scilabnumber">1.2</span><span class="scilabdefault">,</span><span class="scilabconstants">%t</span><span class="scilabdefault">,</span><span class="scilabstring">"</span><span class="scilabstring">part1</span><span class="scilabstring">"</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</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="sym_addConstr.html"><< sym_addConstr</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_close.html">sym_close >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_close.html b/help/en_US/scilab_en_US_help/sym_close.html new file mode 100644 index 0000000..c78dd36 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_close.html @@ -0,0 +1,84 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_close</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="sym_addVar.html"><< sym_addVar</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_deleteConstrs.html">sym_deleteConstrs >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_close</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_close</h1> + <p class="refpurpose">Close the Symphony environment</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_close</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">Closes the already open Symphony environment.</p> + <p class="para">Warning: All data loaded into the environment is deleted.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 1 if the environment was successfully closed and 0 otherwise</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="scilabid">sym_close</span><span class="scilabopenclose">(</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</li> + <li class="member">Iswarya</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="sym_addVar.html"><< sym_addVar</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_deleteConstrs.html">sym_deleteConstrs >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_deleteConstrs.html b/help/en_US/scilab_en_US_help/sym_deleteConstrs.html new file mode 100644 index 0000000..6f269ef --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_deleteConstrs.html @@ -0,0 +1,81 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_deleteConstrs</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="sym_close.html"><< sym_close</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_deleteVars.html">sym_deleteVars >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_deleteConstrs</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_deleteConstrs</h1> + <p class="refpurpose">This routine is used to delete rows from the original constraint matrix.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_deleteConstrs</span><span class="default">(</span><span class="default">indices</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">indices</span> + <dd><p class="para">An array indicating the indices of the rows to be deleted.</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0 if the constraints specified in the indices are deleted successfully and 0 if it returns corresponding to an error value.</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_deleteConstrs</span><span class="scilabopenclose">(</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="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">Iswarya Hariharan</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="sym_close.html"><< sym_close</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_deleteVars.html">sym_deleteVars >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_deleteVars.html b/help/en_US/scilab_en_US_help/sym_deleteVars.html new file mode 100644 index 0000000..37d9dcb --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_deleteVars.html @@ -0,0 +1,81 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_deleteVars</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="sym_deleteConstrs.html"><< sym_deleteConstrs</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getConstrActivity.html">sym_getConstrActivity >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_deleteVars</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_deleteVars</h1> + <p class="refpurpose">This routine is used to delete columns from the original problem description.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_deleteVars</span><span class="default">(</span><span class="default">indices</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">indices</span> + <dd><p class="para">Pointer to an integer type array indicating the indices of the column numbers(variables) to be deleted.</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0 if the column numbers specified are deleted successfully and 0 if the deletion of column indices did not execute successfully and it returns with an error return value</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_deleteVars</span><span class="scilabopenclose">(</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="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">Iswarya Hariharan</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="sym_deleteConstrs.html"><< sym_deleteConstrs</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getConstrActivity.html">sym_getConstrActivity >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getConstrActivity.html b/help/en_US/scilab_en_US_help/sym_getConstrActivity.html new file mode 100644 index 0000000..01f5b1e --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getConstrActivity.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getConstrActivity</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="sym_deleteVars.html"><< sym_deleteVars</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getConstrLower.html">sym_getConstrLower >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getConstrActivity</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getConstrActivity</h1> + <p class="refpurpose">Get the activity of the constraints in the solution</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getConstrActivity</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">Get the activity of the constraints in the solution.</p> + <p class="para">This function may fail if the problem has not been solved already. Use sym_solve() in this case.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns a matrix with 1 column and number of rows equal to number of constraints, that represents the activities of those constraints</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="scilabid">sym_getConstrActivity</span><span class="scilabopenclose">(</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</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="sym_deleteVars.html"><< sym_deleteVars</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getConstrLower.html">sym_getConstrLower >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getConstrLower.html b/help/en_US/scilab_en_US_help/sym_getConstrLower.html new file mode 100644 index 0000000..12e89e0 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getConstrLower.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getConstrLower</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="sym_getConstrActivity.html"><< sym_getConstrActivity</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getConstrRange.html">sym_getConstrRange >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getConstrLower</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getConstrLower</h1> + <p class="refpurpose">To get the lower bounds of the constraints.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getConstrLower</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This routine is used to get lower bounds of constraints.</p> + <p class="para">If there was an error it prints to Scilab console.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">It returns a column vector of lower bounds of constraints.</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="scilabid">ans</span><span class="scilaboperator">=</span><span class="scilabid">sym_getConstrLower</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_getConstrActivity.html"><< sym_getConstrActivity</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getConstrRange.html">sym_getConstrRange >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getConstrRange.html b/help/en_US/scilab_en_US_help/sym_getConstrRange.html new file mode 100644 index 0000000..214e500 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getConstrRange.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getConstrRange</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="sym_getConstrLower.html"><< sym_getConstrLower</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getConstrSense.html">sym_getConstrSense >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getConstrRange</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getConstrRange</h1> + <p class="refpurpose">To to get the constraint ranges.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getConstrRange</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This routine is used to get the constraint ranges.</p> + <p class="para">If there was an error it prints to Scilab console.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">It returns a column vector of the constraint ranges.</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="scilabid">ans</span><span class="scilaboperator">=</span><span class="scilabid">sym_getConstrRange</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_getConstrLower.html"><< sym_getConstrLower</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getConstrSense.html">sym_getConstrSense >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getConstrSense.html b/help/en_US/scilab_en_US_help/sym_getConstrSense.html new file mode 100644 index 0000000..e0802be --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getConstrSense.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getConstrSense</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="sym_getConstrRange.html"><< sym_getConstrRange</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getConstrUpper.html">sym_getConstrUpper >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getConstrSense</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getConstrSense</h1> + <p class="refpurpose">To get the row senses.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getConstrSense</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This routine is used to get the row senses.</p> + <p class="para">If there was an error it prints to Scilab console.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">It returns a column vector of the row senses.</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="scilabid">ans</span><span class="scilaboperator">=</span><span class="scilabid">sym_getConstrSense</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_getConstrRange.html"><< sym_getConstrRange</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getConstrUpper.html">sym_getConstrUpper >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getConstrUpper.html b/help/en_US/scilab_en_US_help/sym_getConstrUpper.html new file mode 100644 index 0000000..df3f2eb --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getConstrUpper.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getConstrUpper</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="sym_getConstrSense.html"><< sym_getConstrSense</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getDblParam.html">sym_getDblParam >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getConstrUpper</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getConstrUpper</h1> + <p class="refpurpose">To get the upper bounds of the constraints.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getConstrUpper</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This routine is used to get upper bounds of the constraints.</p> + <p class="para">If there was an error it prints to Scilab console.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">It returns a column vector of upper bounds of constraints.</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="scilabid">ans</span><span class="scilaboperator">=</span><span class="scilabid">sym_getConstrUpper</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_getConstrSense.html"><< sym_getConstrSense</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getDblParam.html">sym_getDblParam >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getDblParam.html b/help/en_US/scilab_en_US_help/sym_getDblParam.html new file mode 100644 index 0000000..39c59e2 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getDblParam.html @@ -0,0 +1,81 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getDblParam</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="sym_getConstrUpper.html"><< sym_getConstrUpper</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getInfinity.html">sym_getInfinity >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getDblParam</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getDblParam</h1> + <p class="refpurpose">This routine is used to get the value of a double type parameter.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getDblParam</span><span class="default">(</span><span class="default">key</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">key</span> + <dd><p class="para">The name of the double parameter whose value has to be retrieved. Note: should be given within " "</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0 if the parameter's value has been successfully retrieved and displayed on the console ,else 1 is returned corressponding to an error value for the unsuccessful execution of the function</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_getDblParam</span><span class="scilabopenclose">(</span><span class="scilabstring">"</span><span class="scilabstring">time_limit</span><span class="scilabstring">"</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">Iswarya Hariharan</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="sym_getConstrUpper.html"><< sym_getConstrUpper</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getInfinity.html">sym_getInfinity >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getInfinity.html b/help/en_US/scilab_en_US_help/sym_getInfinity.html new file mode 100644 index 0000000..29696da --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getInfinity.html @@ -0,0 +1,82 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getInfinity</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="sym_getDblParam.html"><< sym_getDblParam</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getIntParam.html">sym_getIntParam >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getInfinity</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getInfinity</h1> + <p class="refpurpose">Get Symphony's infinity value</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getInfinity</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">Get the value that Symphony considers to be infinity. This is equal to 10^20.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns the infinity value of Symphony</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="scilabid">sym_getInfinity</span><span class="scilabopenclose">(</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</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="sym_getDblParam.html"><< sym_getDblParam</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getIntParam.html">sym_getIntParam >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getIntParam.html b/help/en_US/scilab_en_US_help/sym_getIntParam.html new file mode 100644 index 0000000..55dc0eb --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getIntParam.html @@ -0,0 +1,81 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getIntParam</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="sym_getInfinity.html"><< sym_getInfinity</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getIterCount.html">sym_getIterCount >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getIntParam</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getIntParam</h1> + <p class="refpurpose">This routine is used to get the value of an integer type parameter.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getIntParam</span><span class="default">(</span><span class="default">key</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">key</span> + <dd><p class="para">The name of the integer parameter whose value has to be retrieved. Note: should be given within " "</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0 if the parameter's value has been successfully retrieved and displayed on the console ,else 1 is returned corressponding to an error value for the unsuccessful execution of the function</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_getIntParam</span><span class="scilabopenclose">(</span><span class="scilabstring">"</span><span class="scilabstring">verbosity</span><span class="scilabstring">"</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">Iswarya Hariharan</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="sym_getInfinity.html"><< sym_getInfinity</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getIterCount.html">sym_getIterCount >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getIterCount.html b/help/en_US/scilab_en_US_help/sym_getIterCount.html new file mode 100644 index 0000000..ee3757b --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getIterCount.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getIterCount</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="sym_getIntParam.html"><< sym_getIntParam</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getMatrix.html">sym_getMatrix >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getIterCount</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getIterCount</h1> + <p class="refpurpose">To get the number of the analyzed nodes of the branching tree after solving the problem.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getIterCount</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This routine is used to get the number of the analyzed nodes of the branching tree after solving the problem.</p> + <p class="para">If there was an error it prints to Scilab console.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">It returns iteration count.</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="scilabid">ans</span><span class="scilaboperator">=</span><span class="scilabid">sym_getIterCount</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_getIntParam.html"><< sym_getIntParam</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getMatrix.html">sym_getMatrix >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getMatrix.html b/help/en_US/scilab_en_US_help/sym_getMatrix.html new file mode 100644 index 0000000..9f0f608 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getMatrix.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getMatrix</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="sym_getIterCount.html"><< sym_getIterCount</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getNumConstr.html">sym_getNumConstr >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getMatrix</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getMatrix</h1> + <p class="refpurpose">To get the constraint matrix.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getMatrix</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This routine is used to get the constraint matrix as sparse matrix in a standard row-ordered format.</p> + <p class="para">If there was an error it prints to Scilab console.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">It returns a row-ordered sparse matrix.</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="scilabid">ans</span><span class="scilaboperator">=</span><span class="scilabid">sym_getMatrix</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_getIterCount.html"><< sym_getIterCount</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getNumConstr.html">sym_getNumConstr >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getNumConstr.html b/help/en_US/scilab_en_US_help/sym_getNumConstr.html new file mode 100644 index 0000000..7b54f83 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getNumConstr.html @@ -0,0 +1,82 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getNumConstr</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="sym_getMatrix.html"><< sym_getMatrix</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getNumElements.html">sym_getNumElements >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getNumConstr</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getNumConstr</h1> + <p class="refpurpose">To get the number of the constraints of the current problem.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getNumConstr</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This routine is used to get the number of the constraints of the current problem.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">If there was an error it prints error message to Scilab console and returns -1, else it returns a number ( >=0 ) as number of constraints.</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="scilabid">ans</span><span class="scilaboperator">=</span><span class="scilabid">sym_getNumConstr</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_getMatrix.html"><< sym_getMatrix</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getNumElements.html">sym_getNumElements >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getNumElements.html b/help/en_US/scilab_en_US_help/sym_getNumElements.html new file mode 100644 index 0000000..8f59387 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getNumElements.html @@ -0,0 +1,82 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getNumElements</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="sym_getNumConstr.html"><< sym_getNumConstr</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getNumVar.html">sym_getNumVar >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getNumElements</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getNumElements</h1> + <p class="refpurpose">To get the number of non-zero entries of the constraint matrix of the current problem.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getNumElements</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This routine is used to get the number of non-zero entries of the constraint matrix of the current problem.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">If there was an error, it prints error message to Scilab console and returns -1, else it returns a number ( >=0 ) as number of non-zero elements.</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="scilabid">ans</span><span class="scilaboperator">=</span><span class="scilabid">sym_getNumElements</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_getNumConstr.html"><< sym_getNumConstr</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getNumVar.html">sym_getNumVar >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getNumVar.html b/help/en_US/scilab_en_US_help/sym_getNumVar.html new file mode 100644 index 0000000..f5ba3f6 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getNumVar.html @@ -0,0 +1,82 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getNumVar</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="sym_getNumElements.html"><< sym_getNumElements</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getObjCoeff.html">sym_getObjCoeff >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getNumVar</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getNumVar</h1> + <p class="refpurpose">To get the number of the variables of the current problem.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getNumVar</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This routine is used to get the number of the variables of the current problem.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">If there was an error it prints error message to Scilab console and returns -1, else it returns a number ( >=0 ) as number of variables.</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="scilabid">ans</span><span class="scilaboperator">=</span><span class="scilabid">sym_getNumVar</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_getNumElements.html"><< sym_getNumElements</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getObjCoeff.html">sym_getObjCoeff >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getObjCoeff.html b/help/en_US/scilab_en_US_help/sym_getObjCoeff.html new file mode 100644 index 0000000..2178b5d --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getObjCoeff.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getObjCoeff</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="sym_getNumVar.html"><< sym_getNumVar</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getObjSense.html">sym_getObjSense >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getObjCoeff</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getObjCoeff</h1> + <p class="refpurpose">To get the objective vector.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getObjCoeff</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This routine is used to get the objective vector.</p> + <p class="para">If there was an error it prints to Scilab console.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">It returns a row vector of coefficients of variables in objective.</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="scilabid">ans</span><span class="scilaboperator">=</span><span class="scilabid">sym_getObjCoeff</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_getNumVar.html"><< sym_getNumVar</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getObjSense.html">sym_getObjSense >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getObjSense.html b/help/en_US/scilab_en_US_help/sym_getObjSense.html new file mode 100644 index 0000000..9137bdc --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getObjSense.html @@ -0,0 +1,82 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getObjSense</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="sym_getObjCoeff.html"><< sym_getObjCoeff</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getObjVal.html">sym_getObjVal >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getObjSense</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getObjSense</h1> + <p class="refpurpose">Get the objective sense</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getObjSense</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This function gets the sense of the objective function (minimization/maximization).</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 1 if the objective is to be minimized and -1 if the objective is to be maximized</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="scilabid">sym_getObjSense</span><span class="scilabopenclose">(</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</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="sym_getObjCoeff.html"><< sym_getObjCoeff</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getObjVal.html">sym_getObjVal >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getObjVal.html b/help/en_US/scilab_en_US_help/sym_getObjVal.html new file mode 100644 index 0000000..712c695 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getObjVal.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getObjVal</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="sym_getObjSense.html"><< sym_getObjSense</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getPrimalBound.html">sym_getPrimalBound >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getObjVal</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getObjVal</h1> + <p class="refpurpose">Get the optimized objective value</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getObjVal</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">Get the optimized objective value after after solving the problem.</p> + <p class="para">This function may fail if the problem has not been solved already. Use sym_solve() in this case.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns the optimized objective value</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="scilabid">sym_getObjVal</span><span class="scilabopenclose">(</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</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="sym_getObjSense.html"><< sym_getObjSense</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getPrimalBound.html">sym_getPrimalBound >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getPrimalBound.html b/help/en_US/scilab_en_US_help/sym_getPrimalBound.html new file mode 100644 index 0000000..eef1de0 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getPrimalBound.html @@ -0,0 +1,82 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getPrimalBound</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="sym_getObjVal.html"><< sym_getObjVal</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getRhs.html">sym_getRhs >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getPrimalBound</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getPrimalBound</h1> + <p class="refpurpose">Get the primal bound of the problem</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getPrimalBound</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">Get the primal bound of the loaded problem.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns the primal bound of the problem</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="scilabid">sym_getPrimalBound</span><span class="scilabopenclose">(</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</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="sym_getObjVal.html"><< sym_getObjVal</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getRhs.html">sym_getRhs >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getRhs.html b/help/en_US/scilab_en_US_help/sym_getRhs.html new file mode 100644 index 0000000..3b4eb7f --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getRhs.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getRhs</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="sym_getPrimalBound.html"><< sym_getPrimalBound</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getStatus.html">sym_getStatus >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getRhs</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getRhs</h1> + <p class="refpurpose">To to get the right hand side vector(column vector).</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getRhs</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This routine is used to get the right hand side vector(coumn vector).</p> + <p class="para">If there was an error it prints to Scilab console.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">It returns a column vector of the right hand side values of constraints.</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="scilabid">ans</span><span class="scilaboperator">=</span><span class="scilabid">sym_getRhs</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_getPrimalBound.html"><< sym_getPrimalBound</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getStatus.html">sym_getStatus >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getStatus.html b/help/en_US/scilab_en_US_help/sym_getStatus.html new file mode 100644 index 0000000..8880566 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getStatus.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getStatus</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="sym_getRhs.html"><< sym_getRhs</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getStrParam.html">sym_getStrParam >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getStatus</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getStatus</h1> + <p class="refpurpose">To get status of the problem solver.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getStatus</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This post-solution query routine is used to learn the termination status of the solution procedure.</p> + <p class="para">It prints status of the problem solver to scilab console.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">It returns 1 if it receives any return-value indicating an error message or 0 if it receives any return-value indicating a non-error message.</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_getStatus</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_getRhs.html"><< sym_getRhs</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getStrParam.html">sym_getStrParam >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getStrParam.html b/help/en_US/scilab_en_US_help/sym_getStrParam.html new file mode 100644 index 0000000..f3d3671 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getStrParam.html @@ -0,0 +1,81 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getStrParam</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="sym_getStatus.html"><< sym_getStatus</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getVarLower.html">sym_getVarLower >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getStrParam</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getStrParam</h1> + <p class="refpurpose">This routine is used to get the value of a string type parameter.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getStrParam</span><span class="default">(</span><span class="default">key</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">key</span> + <dd><p class="para">The name of the strung parameter whose value has to be retrieved. Note: should be given within " "</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0 if the parameter's value has been successfully retrieved and displayed on the console ,else 1 is returned corressponding to an error value for the unsuccessful execution of the function</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_getStrParam</span><span class="scilabopenclose">(</span><span class="scilabstring">"</span><span class="scilabstring">source_path</span><span class="scilabstring">"</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">Iswarya Hariharan</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="sym_getStatus.html"><< sym_getStatus</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getVarLower.html">sym_getVarLower >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getVarLower.html b/help/en_US/scilab_en_US_help/sym_getVarLower.html new file mode 100644 index 0000000..7804681 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getVarLower.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getVarLower</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="sym_getStrParam.html"><< sym_getStrParam</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getVarSoln.html">sym_getVarSoln >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getVarLower</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getVarLower</h1> + <p class="refpurpose">To get the lower bounds of the variables.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getVarLower</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This routine is used to get the lower bounds of the variables.</p> + <p class="para">If there was an error it prints to Scilab console.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">It returns a row vector of lower bounds of the variables.</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="scilabid">ans</span><span class="scilaboperator">=</span><span class="scilabid">sym_getVarLower</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_getStrParam.html"><< sym_getStrParam</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getVarSoln.html">sym_getVarSoln >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getVarSoln.html b/help/en_US/scilab_en_US_help/sym_getVarSoln.html new file mode 100644 index 0000000..3b6b932 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getVarSoln.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getVarSoln</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="sym_getVarLower.html"><< sym_getVarLower</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getVarUpper.html">sym_getVarUpper >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getVarSoln</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getVarSoln</h1> + <p class="refpurpose">Get the solution for the problem</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getVarSoln</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">Get the solution for the problem after solving it.</p> + <p class="para">This function may fail if the problem has not been solved already. Use sym_solve() in this case.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns a matrix with 1 row and number of columns equal to number of variables, that represents the solutions for those variables</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="scilabid">sym_getVarSoln</span><span class="scilabopenclose">(</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</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="sym_getVarLower.html"><< sym_getVarLower</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_getVarUpper.html">sym_getVarUpper >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_getVarUpper.html b/help/en_US/scilab_en_US_help/sym_getVarUpper.html new file mode 100644 index 0000000..bc8d0ca --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_getVarUpper.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_getVarUpper</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="sym_getVarSoln.html"><< sym_getVarSoln</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isAbandoned.html">sym_isAbandoned >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_getVarUpper</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_getVarUpper</h1> + <p class="refpurpose">To get the upper bounds of the variables.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_getVarUpper</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This routine is used to get the upper bounds of the variables.</p> + <p class="para">If there was an error it prints to Scilab console.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">It returns a row vector of upper bounds of the variables.</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="scilabid">ans</span><span class="scilaboperator">=</span><span class="scilabid">sym_getVarUpper</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_getVarSoln.html"><< sym_getVarSoln</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isAbandoned.html">sym_isAbandoned >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_isAbandoned.html b/help/en_US/scilab_en_US_help/sym_isAbandoned.html new file mode 100644 index 0000000..7f22d84 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_isAbandoned.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_isAbandoned</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="sym_getVarUpper.html"><< sym_getVarUpper</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isBinary.html">sym_isBinary >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_isAbandoned</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_isAbandoned</h1> + <p class="refpurpose">To check whether the problem was abandoned for some reason.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_isAbandoned</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This post-solution query routine is used to learn whether the problem was abandoned for some reason.</p> + <p class="para">It prints whether or not the problem was abandoned for some reason to scilab console.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">It returns 1 if the problem was abandoned or 0 if the problem was not abandoned or -1 if there was an error.</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_isAbandoned</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_getVarUpper.html"><< sym_getVarUpper</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isBinary.html">sym_isBinary >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_isBinary.html b/help/en_US/scilab_en_US_help/sym_isBinary.html new file mode 100644 index 0000000..904c383 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_isBinary.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_isBinary</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="sym_isAbandoned.html"><< sym_isAbandoned</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isContinuous.html">sym_isContinuous >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_isBinary</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_isBinary</h1> + <p class="refpurpose">Check if a variable is constrained to be binary</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_isBinary</span><span class="default">(</span><span class="default">index</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This function checks if a variable is constrained to be binary (0 or 1).</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">index</span> + <dd><p class="para">Index of the variable to check. Must be in {0,1,2,...n-1} where n is the number of variables in the problem</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 1 if the variable is constrained to be binary and 0 if it is not.</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="scilabid">sym_isBinary</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</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</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="sym_isAbandoned.html"><< sym_isAbandoned</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isContinuous.html">sym_isContinuous >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_isContinuous.html b/help/en_US/scilab_en_US_help/sym_isContinuous.html new file mode 100644 index 0000000..22d6f4d --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_isContinuous.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_isContinuous</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="sym_isBinary.html"><< sym_isBinary</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isEnvActive.html">sym_isEnvActive >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_isContinuous</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_isContinuous</h1> + <p class="refpurpose">Check if a variable is continuous</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_isContinuous</span><span class="default">(</span><span class="default">index</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This function checks if a variable is continuous.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">index</span> + <dd><p class="para">Index of the variable to check. Must be in {0,1,2,...n-1} where n is the number of variables in the problem</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 1 if the variable is continuous and 0 if it is not.</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="scilabid">sym_isContinuous</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</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</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="sym_isBinary.html"><< sym_isBinary</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isEnvActive.html">sym_isEnvActive >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_isEnvActive.html b/help/en_US/scilab_en_US_help/sym_isEnvActive.html new file mode 100644 index 0000000..4997879 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_isEnvActive.html @@ -0,0 +1,82 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_isEnvActive</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="sym_isContinuous.html"><< sym_isContinuous</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isInfeasible.html">sym_isInfeasible >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_isEnvActive</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_isEnvActive</h1> + <p class="refpurpose">Check if Symphony environment is active</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_isEnvActive</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">Check if Symphony environment is active (open). Most Symphony functions will require the environment to be open.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 1 if the environment is active and 0 otherwise</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="scilabid">sym_isEnvActive</span><span class="scilabopenclose">(</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</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="sym_isContinuous.html"><< sym_isContinuous</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isInfeasible.html">sym_isInfeasible >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_isInfeasible.html b/help/en_US/scilab_en_US_help/sym_isInfeasible.html new file mode 100644 index 0000000..2ea8048 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_isInfeasible.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_isInfeasible</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="sym_isEnvActive.html"><< sym_isEnvActive</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isInteger.html">sym_isInteger >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_isInfeasible</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_isInfeasible</h1> + <p class="refpurpose">To check whether the problem was proven to be infeasible.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_isInfeasible</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This post-solution query routine is used to learn whether the problem was proven to be infeasible.</p> + <p class="para">It prints whether or not the problem was proven to be infeasible to scilab console.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">It returns 1 if the problem was solved proven to be infeasible or 0 if it was not proven to be infeasible or -1 if there was an error.</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_isInfeasible</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_isEnvActive.html"><< sym_isEnvActive</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isInteger.html">sym_isInteger >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_isInteger.html b/help/en_US/scilab_en_US_help/sym_isInteger.html new file mode 100644 index 0000000..3843b5b --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_isInteger.html @@ -0,0 +1,77 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_isInteger</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="sym_isInfeasible.html"><< sym_isInfeasible</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isIterLimitReached.html">sym_isIterLimitReached >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_isInteger</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_isInteger</h1> + + <p class="refpurpose">Check if a variable is constrained to be an integer</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + + <div class="synopsis"><pre><span class="functionid">sym_isInteger</span><span class="default">(</span><span class="default">index</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This function checks if a variable is constrained to be an integer.</p> + <p class="para">index : Index of the variable to check. Must be in {0,1,2,...n-1} where n is the number of variables in the problem</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="scilabid">sym_isInteger</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</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</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="sym_isInfeasible.html"><< sym_isInfeasible</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isIterLimitReached.html">sym_isIterLimitReached >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_isIterLimitReached.html b/help/en_US/scilab_en_US_help/sym_isIterLimitReached.html new file mode 100644 index 0000000..7081962 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_isIterLimitReached.html @@ -0,0 +1,84 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_isIterLimitReached</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="sym_isInteger.html"><< sym_isInteger</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isOptimal.html">sym_isOptimal >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_isIterLimitReached</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_isIterLimitReached</h1> + <p class="refpurpose">To know whether the iteration limit (node limit) was reached.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_isIterLimitReached</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This post-solution query routine is used to learn whether the iteration limit(node limit) was reached.</p> + <p class="para">It prints whether or not the iteration limit (node limit) was reached to scilab console.</p> + <p class="para">It can also be used if "find first feasible" parameter was set to true before solving the problem.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">It returns 1 if the iteration limit is reached or 0 if the iteration limit is not reached or -1 if there was an error.</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_isIterLimitReached</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_isInteger.html"><< sym_isInteger</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isOptimal.html">sym_isOptimal >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_isOptimal.html b/help/en_US/scilab_en_US_help/sym_isOptimal.html new file mode 100644 index 0000000..929b01b --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_isOptimal.html @@ -0,0 +1,84 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_isOptimal</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="sym_isIterLimitReached.html"><< sym_isIterLimitReached</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isTargetGapAchieved.html">sym_isTargetGapAchieved >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_isOptimal</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_isOptimal</h1> + <p class="refpurpose">To check whether the problem was solved to optimality.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_isOptimal</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This post-solution query routine is used to learn whether the problem was solved to</p> + <p class="para">optimality.</p> + <p class="para">It prints whether or not the problem was solved to optimality to scilab console.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">It returns 1 if the problem was solved to optimality or 0 if it was not solved to optimality or -1 if there was an error.</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_isOptimal</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_isIterLimitReached.html"><< sym_isIterLimitReached</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isTargetGapAchieved.html">sym_isTargetGapAchieved >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_isTargetGapAchieved.html b/help/en_US/scilab_en_US_help/sym_isTargetGapAchieved.html new file mode 100644 index 0000000..91d5a7f --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_isTargetGapAchieved.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_isTargetGapAchieved</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="sym_isOptimal.html"><< sym_isOptimal</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isTimeLimitReached.html">sym_isTimeLimitReached >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_isTargetGapAchieved</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_isTargetGapAchieved</h1> + <p class="refpurpose">To know whether the target gap was reached.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_isTargetGapAchieved</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This post-solution query routine is used to learn whether the target gap was reached.</p> + <p class="para">It print whether or not the target gap was reached.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">It returns 1 if the target gap was reached or 0 if the target gap was not reached or -1 if there was an error.</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_isTargetGapAchieved</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_isOptimal.html"><< sym_isOptimal</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_isTimeLimitReached.html">sym_isTimeLimitReached >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_isTimeLimitReached.html b/help/en_US/scilab_en_US_help/sym_isTimeLimitReached.html new file mode 100644 index 0000000..ce96eae --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_isTimeLimitReached.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_isTimeLimitReached</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="sym_isTargetGapAchieved.html"><< sym_isTargetGapAchieved</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_loadMPS.html">sym_loadMPS >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_isTimeLimitReached</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_isTimeLimitReached</h1> + <p class="refpurpose">To know whether the time limit was reached.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_isTimeLimitReached</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This post-solution query routine is used to learn whether the time limit was reached.</p> + <p class="para">It prints whether or not the time limit was reached to scilab console.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">It returns 1 if the time limit was reached or 0 if the time limit was not reached or -1 if there was an error.</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_isTimeLimitReached</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_isTargetGapAchieved.html"><< sym_isTargetGapAchieved</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_loadMPS.html">sym_loadMPS >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_loadMPS.html b/help/en_US/scilab_en_US_help/sym_loadMPS.html new file mode 100644 index 0000000..4046026 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_loadMPS.html @@ -0,0 +1,82 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_loadMPS</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="sym_isTimeLimitReached.html"><< sym_isTimeLimitReached</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_loadProblem.html">sym_loadProblem >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_loadMPS</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_loadMPS</h1> + <p class="refpurpose">This routine is used to load an instance from an MPS file.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_loadMPS</span><span class="default">(</span><span class="default">filename</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">filename</span> + <dd><p class="para">It is a string that has the path of the .mps file to loaded.It has to be given within double quotes ("")</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0 if the .mps file is loaded properly to symphony and 0 if there is an error reading the mps file or the function returns with an error return value</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_loadMPS</span><span class="scilabopenclose">(</span><span class="scilabstring">"</span><span class="scilabstring">./sample.mps</span><span class="scilabstring">"</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span><span class="scilabid">mps</span> <a class="scilabcommand" href="scilab://file">file</a> <span class="scilabstring">present</span> <span class="scilabstring">in</span> <span class="scilabstring">the</span> <span class="scilabstring">current</span> <span class="scilabstring">directory</span> <span class="scilabstring">of</span> <span class="scilabstring">execution</span> <span class="scilabstring">can</span> <span class="scilabstring">be</span> <span class="scilabstring">mentioned</span> <span class="scilabstring">this</span> <span class="scilabstring">way</span> <span class="scilabstring">also</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 class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_loadMPS</span><span class="scilabopenclose">(</span><span class="scilabstring">"</span><span class="scilabstring">/home/Desktop/sample.mps</span><span class="scilabstring">"</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span><span class="scilabid">mps</span> <a class="scilabcommand" href="scilab://file">file</a> <span class="scilabstring">present</span> <span class="scilabstring">at</span> <span class="scilabstring">a</span> <span class="scilabstring">different</span> <span class="scilabstring">location</span> <span class="scilabstring">must</span> <span class="scilabstring">be</span> <span class="scilabstring">specified</span> <span class="scilabstring">with</span> <span class="scilabstring">their</span> <span class="scilabstring">entire</span> <span class="scilabstring">path</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">Iswarya Hariharan</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="sym_isTimeLimitReached.html"><< sym_isTimeLimitReached</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_loadProblem.html">sym_loadProblem >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_loadProblem.html b/help/en_US/scilab_en_US_help/sym_loadProblem.html new file mode 100644 index 0000000..7e29c9b --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_loadProblem.html @@ -0,0 +1,102 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_loadProblem</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="sym_loadMPS.html"><< sym_loadMPS</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_loadProblemBasic.html">sym_loadProblemBasic >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_loadProblem</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_loadProblem</h1> + <p class="refpurpose">Load a problem into Symphony</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_loadProblem</span><span class="default">(</span><span class="default">nbVar</span><span class="default">,</span><span class="default">nbConstr</span><span class="default">,</span><span class="default">varLB</span><span class="default">,</span><span class="default">varUB</span><span class="default">,</span><span class="default">objCoeff</span><span class="default">,</span><span class="default">isInt</span><span class="default">,</span><span class="default">objSense</span><span class="default">,</span><span class="default">conMatrix</span><span class="default">,</span><span class="default">conLB</span><span class="default">,</span><span class="default">conUB</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">Loads a MIP problem into Symphony. All the necessary data can be given through a single function call.</p> + <p class="para">The type of constraint is automatically deduced from the constraint bounds.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">nbVar</span> + <dd><p class="para">Number of variables</p></dd></dt> + <dt><span class="term">nbConstr</span> + <dd><p class="para">Number of constraints</p></dd></dt> + <dt><span class="term">varLB</span> + <dd><p class="para">Matrix containing lower bounds of the variables (must have size 1 row and nbVar columns). Bound can be negative infinity</p></dd></dt> + <dt><span class="term">varUB</span> + <dd><p class="para">Matrix containing upper bounds of the variables (must have size 1 row and nbVar columns). Bound can be infinity</p></dd></dt> + <dt><span class="term">objCoeff</span> + <dd><p class="para">Matrix containing coefficients of the variables in the objective (must have size 1 row and nbVar columns)</p></dd></dt> + <dt><span class="term">isInt</span> + <dd><p class="para">Boolean matrix representing wether a variable is constrained to be an integer (must have size 1 row and nbVar columns)</p></dd></dt> + <dt><span class="term">objSense</span> + <dd><p class="para">The sense (maximization/minimization) of the objective. Use sym_minimize or sym_maximize here</p></dd></dt> + <dt><span class="term">conMatrix</span> + <dd><p class="para">Sparse matrix representing the constraint matrix (must have size nbConstr rows and nbVar columns)</p></dd></dt> + <dt><span class="term">conLB</span> + <dd><p class="para">Matrix containing lower bounds of the constraints (must have size nbConstr rows and 1 column)</p></dd></dt> + <dt><span class="term">conUB</span> + <dd><p class="para">Matrix containing upper bounds of the constraints (must have size nbConstr rows and 1 column)</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0 if the problem was successfully loaded into Symphony</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="scilabid">sym_loadProblem</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="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="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="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="scilabconstants">%t</span><span class="scilabdefault">,</span><span class="scilabconstants">%t</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabid">sym_maximize</span><span class="scilabdefault">,</span><a class="scilabcommand" href="scilab://sparse">sparse</a><span class="scilabopenclose">(</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">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</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="scilabopenclose">[</span><span class="scilabnumber">7</span><span class="scilabdefault">;</span><span class="scilabnumber">6.5</span><span class="scilabopenclose">]</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</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="sym_loadMPS.html"><< sym_loadMPS</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_loadProblemBasic.html">sym_loadProblemBasic >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_loadProblemBasic.html b/help/en_US/scilab_en_US_help/sym_loadProblemBasic.html new file mode 100644 index 0000000..23f690e --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_loadProblemBasic.html @@ -0,0 +1,103 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_loadProblemBasic</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="sym_loadProblem.html"><< sym_loadProblem</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_open.html">sym_open >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_loadProblemBasic</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_loadProblemBasic</h1> + <p class="refpurpose">Load a problem into Symphony (basic version)</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_loadProblemBasic</span><span class="default">(</span><span class="default">nbVar</span><span class="default">,</span><span class="default">nbConstr</span><span class="default">,</span><span class="default">varLB</span><span class="default">,</span><span class="default">varUB</span><span class="default">,</span><span class="default">objCoeff</span><span class="default">,</span><span class="default">isInt</span><span class="default">,</span><span class="default">objSense</span><span class="default">,</span><span class="default">conMatrix</span><span class="default">,</span><span class="default">conLB</span><span class="default">,</span><span class="default">conUB</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">Loads a MIP problem into Symphony. All the necessary data can be given through a single function call.</p> + <p class="para">The type of constraint is automatically deduced from the constraint bounds.</p> + <p class="para">This version of the problem loader does not support sparse matrices and hence is only useful for small problems.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">nbVar</span> + <dd><p class="para">Number of variables</p></dd></dt> + <dt><span class="term">nbConstr</span> + <dd><p class="para">Number of constraints</p></dd></dt> + <dt><span class="term">varLB</span> + <dd><p class="para">Matrix containing lower bounds of the variables (must have size 1 row and nbVar columns). Bound can be negative infinity</p></dd></dt> + <dt><span class="term">varUB</span> + <dd><p class="para">Matrix containing upper bounds of the variables (must have size 1 row and nbVar columns). Bound can be infinity</p></dd></dt> + <dt><span class="term">objCoeff</span> + <dd><p class="para">Matrix containing coefficients of the variables in the objective (must have size 1 row and nbVar columns)</p></dd></dt> + <dt><span class="term">isInt</span> + <dd><p class="para">Boolean matrix representing wether a variable is constrained to be an integer (must have size 1 row and nbVar columns)</p></dd></dt> + <dt><span class="term">objSense</span> + <dd><p class="para">The sense (maximization/minimization) of the objective. Use sym_minimize or sym_maximize here</p></dd></dt> + <dt><span class="term">conMatrix</span> + <dd><p class="para">Matrix (normal) representing the constraint matrix (must have size nbConstr rows and nbVar columns)</p></dd></dt> + <dt><span class="term">conLB</span> + <dd><p class="para">Matrix containing lower bounds of the constraints (must have size nbConstr rows and 1 column)</p></dd></dt> + <dt><span class="term">conUB</span> + <dd><p class="para">Matrix containing upper bounds of the constraints (must have size nbConstr rows and 1 column)</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0 if the problem was successfully loaded into Symphony</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="scilabid">sym_loadProblemBasic</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="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="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="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="scilabconstants">%t</span><span class="scilabdefault">,</span><span class="scilabconstants">%t</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabid">sym_maximize</span><span class="scilabdefault">,</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">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="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span><span class="scilabopenclose">[</span><span class="scilabnumber">7</span><span class="scilabdefault">;</span><span class="scilabnumber">6.5</span><span class="scilabopenclose">]</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</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="sym_loadProblem.html"><< sym_loadProblem</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_open.html">sym_open >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_open.html b/help/en_US/scilab_en_US_help/sym_open.html new file mode 100644 index 0000000..7347781 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_open.html @@ -0,0 +1,84 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_open</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="sym_loadProblemBasic.html"><< sym_loadProblemBasic</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_resetParams.html">sym_resetParams >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_open</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_open</h1> + <p class="refpurpose">Open the Symphony environment</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_open</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">Opens the Symphony environment. The environment and all data loaded into it is maintained across function calls.</p> + <p class="para">This function fails if the environment is already open.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 1 if the environment was successfully opened and 0 otherwise</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="scilabid">sym_open</span><span class="scilabopenclose">(</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</li> + <li class="member">Iswarya</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="sym_loadProblemBasic.html"><< sym_loadProblemBasic</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_resetParams.html">sym_resetParams >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_resetParams.html b/help/en_US/scilab_en_US_help/sym_resetParams.html new file mode 100644 index 0000000..a28d629 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_resetParams.html @@ -0,0 +1,80 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_resetParams</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="sym_open.html"><< sym_open</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setConstrLower.html">sym_setConstrLower >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_resetParams</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_resetParams</h1> + <p class="refpurpose">This routine sets all the environment variables and parameters to their default values.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_resetParams</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0 if the environment variables and parameters are set to their default value and 1 if a value corresponding to an error is returned</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_resetParams</span><span class="scilabopenclose">(</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">Iswarya Hariharan</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="sym_open.html"><< sym_open</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setConstrLower.html">sym_setConstrLower >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_setConstrLower.html b/help/en_US/scilab_en_US_help/sym_setConstrLower.html new file mode 100644 index 0000000..937983f --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_setConstrLower.html @@ -0,0 +1,85 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_setConstrLower</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="sym_resetParams.html"><< sym_resetParams</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setConstrType.html">sym_setConstrType >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_setConstrLower</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_setConstrLower</h1> + <p class="refpurpose">Set the lower bound of a constraint</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_setConstrLower</span><span class="default">(</span><span class="default">index</span><span class="default">,</span><span class="default">newBound</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This function changes the lower bound of a constraint</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">index</span> + <dd><p class="para">Index of the constraint to modify. Must be in {0,1,2,...n-1} where n is the number of constraints in the problem</p></dd></dt> + <dt><span class="term">newBound</span> + <dd><p class="para">The new lower bound for the constraint</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0</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="scilabid">sym_setConstrLower</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">100</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</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="sym_resetParams.html"><< sym_resetParams</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setConstrType.html">sym_setConstrType >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_setConstrType.html b/help/en_US/scilab_en_US_help/sym_setConstrType.html new file mode 100644 index 0000000..3ad6e86 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_setConstrType.html @@ -0,0 +1,91 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_setConstrType</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="sym_setConstrLower.html"><< sym_setConstrLower</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setConstrUpper.html">sym_setConstrUpper >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_setConstrType</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_setConstrType</h1> + <p class="refpurpose">Set the type of a constraint</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_setConstrType</span><span class="default">(</span><span class="default">index</span><span class="default">,</span><span class="default">type</span><span class="default">,</span><span class="default">bound1</span><span class="default">[,</span><span class="default">bound2</span><span class="default">])</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This function completely modifies the type of a constraint. Supported types of constraints are less than or equal to, more than or equal to, equal to, or ranged.</p> + <p class="para">The last argument is only required for ranged constraints. For the other types of constraints, only the third argument is required.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">index</span> + <dd><p class="para">Index of the constraint to modify. Must be in {0,1,2,...n-1} where n is the number of constraints in the problem</p></dd></dt> + <dt><span class="term">type</span> + <dd><p class="para">New type of the constraint. Supported types: less than or equal to ("L"), greater than or equal to ("G"), equal to ("E"), or ranged ("R")</p></dd></dt> + <dt><span class="term">bound1</span> + <dd><p class="para">The first (or only) bound for the constraint</p></dd></dt> + <dt><span class="term">bound2</span> + <dd><p class="para">The second bound for ranged constraints. The two bounds for ranged constraints can be in any order.</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0</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="scilabid">sym_setConstrType</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabstring">"</span><span class="scilabstring">R</span><span class="scilabstring">"</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">10</span><span class="scilabdefault">,</span><span class="scilabnumber">10</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 class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">sym_setConstrType</span><span class="scilabopenclose">(</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabstring">"</span><span class="scilabstring">E</span><span class="scilabstring">"</span><span class="scilabdefault">,</span><span class="scilabnumber">100</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</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="sym_setConstrLower.html"><< sym_setConstrLower</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setConstrUpper.html">sym_setConstrUpper >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_setConstrUpper.html b/help/en_US/scilab_en_US_help/sym_setConstrUpper.html new file mode 100644 index 0000000..11086a0 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_setConstrUpper.html @@ -0,0 +1,85 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_setConstrUpper</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="sym_setConstrType.html"><< sym_setConstrType</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setContinuous.html">sym_setContinuous >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_setConstrUpper</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_setConstrUpper</h1> + <p class="refpurpose">Set the upper bound of a constraint</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_setConstrUpper</span><span class="default">(</span><span class="default">index</span><span class="default">,</span><span class="default">newBound</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This function changes the upper bound of a constraint</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">index</span> + <dd><p class="para">Index of the constraint to modify. Must be in {0,1,2,...n-1} where n is the number of constraints in the problem</p></dd></dt> + <dt><span class="term">newBound</span> + <dd><p class="para">The new upper bound for the constraint</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0</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="scilabid">sym_setConstrUpper</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">100</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</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="sym_setConstrType.html"><< sym_setConstrType</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setContinuous.html">sym_setContinuous >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_setContinuous.html b/help/en_US/scilab_en_US_help/sym_setContinuous.html new file mode 100644 index 0000000..d794b27 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_setContinuous.html @@ -0,0 +1,81 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_setContinuous</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="sym_setConstrUpper.html"><< sym_setConstrUpper</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setDblParam.html">sym_setDblParam >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_setContinuous</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_setContinuous</h1> + <p class="refpurpose">This routine is used to set the type of a variable to be continuous.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_setContinuous</span><span class="default">(</span><span class="default">index</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">index</span> + <dd><p class="para">Index of the variable to be set continuous</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0 if the variable type has been set as continuous and 0 if an error value is returned.</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_setContinuous</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</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">Iswarya Hariharan</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="sym_setConstrUpper.html"><< sym_setConstrUpper</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setDblParam.html">sym_setDblParam >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_setDblParam.html b/help/en_US/scilab_en_US_help/sym_setDblParam.html new file mode 100644 index 0000000..e35cb84 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_setDblParam.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_setDblParam</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="sym_setContinuous.html"><< sym_setContinuous</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setIntParam.html">sym_setIntParam >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_setDblParam</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_setDblParam</h1> + <p class="refpurpose">This routine is used to set a double type parameter.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_setDblParam</span><span class="default">(</span><span class="default">key</span><span class="default">,</span><span class="default">value</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">key</span> + <dd><p class="para">The name of the double type parameter to be set. Note: should be given within " "</p></dd></dt> + <dt><span class="term">value</span> + <dd><p class="para">New value of the corresponding double parameter</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0 if the parameter specified is set to the value mentioned and 0 if setting of the double parameter was unsuccessful due to invalid inputs</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_setDblParam</span><span class="scilabopenclose">(</span><span class="scilabstring">"</span><span class="scilabstring">time_limit</span><span class="scilabstring">"</span><span class="scilabdefault">,</span><span class="scilabnumber">5</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">Iswarya Hariharan</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="sym_setContinuous.html"><< sym_setContinuous</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setIntParam.html">sym_setIntParam >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_setIntParam.html b/help/en_US/scilab_en_US_help/sym_setIntParam.html new file mode 100644 index 0000000..0f9b8ce --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_setIntParam.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_setIntParam</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="sym_setDblParam.html"><< sym_setDblParam</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setInteger.html">sym_setInteger >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_setIntParam</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_setIntParam</h1> + <p class="refpurpose">This routine is used to set an integer type parameter.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_setIntParam</span><span class="default">(</span><span class="default">key</span><span class="default">,</span><span class="default">value</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">key</span> + <dd><p class="para">The name of the parameter to be set. Note:should be given within " "</p></dd></dt> + <dt><span class="term">value</span> + <dd><p class="para">New value of the corresponding integer parameter</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0 if the parameter specified is set to the value mentioned and 0 if setting of the integer parameter was unsuccessful due to invalid inputs</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_setIntParam</span><span class="scilabopenclose">(</span><span class="scilabstring">"</span><span class="scilabstring">verbosity</span><span class="scilabstring">"</span><span class="scilabdefault">,</span><span class="scilabnumber">5</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">Iswarya Hariharan</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="sym_setDblParam.html"><< sym_setDblParam</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setInteger.html">sym_setInteger >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_setInteger.html b/help/en_US/scilab_en_US_help/sym_setInteger.html new file mode 100644 index 0000000..4402005 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_setInteger.html @@ -0,0 +1,81 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_setInteger</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="sym_setIntParam.html"><< sym_setIntParam</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setObjCoeff.html">sym_setObjCoeff >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_setInteger</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_setInteger</h1> + <p class="refpurpose">This routine is used to set the type of a variable to be integer.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_setInteger</span><span class="default">(</span><span class="default">index</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">index</span> + <dd><p class="para">The index of the variable type to be modified as integer. Note that, it has to be at most the number of columns.</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0 if the variable type has been set as integer and 0 if an error value is returned.</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_setInteger</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</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">Iswarya Hariharan</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="sym_setIntParam.html"><< sym_setIntParam</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setObjCoeff.html">sym_setObjCoeff >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_setObjCoeff.html b/help/en_US/scilab_en_US_help/sym_setObjCoeff.html new file mode 100644 index 0000000..b8fa629 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_setObjCoeff.html @@ -0,0 +1,85 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_setObjCoeff</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="sym_setInteger.html"><< sym_setInteger</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setObjSense.html">sym_setObjSense >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_setObjCoeff</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_setObjCoeff</h1> + <p class="refpurpose">Set coefficient of a variable in the objective</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_setObjCoeff</span><span class="default">(</span><span class="default">index</span><span class="default">,</span><span class="default">newCoeff</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This function changes the coefficient of a variable in the objective function</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">index</span> + <dd><p class="para">Index of the variable to modify. Must be in {0,1,2,...n-1} where n is the number of variables in the problem</p></dd></dt> + <dt><span class="term">newCoeff</span> + <dd><p class="para">The new coefficient of the variable</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0</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="scilabid">sym_setObjCoeff</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1.5</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</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="sym_setInteger.html"><< sym_setInteger</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setObjSense.html">sym_setObjSense >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_setObjSense.html b/help/en_US/scilab_en_US_help/sym_setObjSense.html new file mode 100644 index 0000000..69b7093 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_setObjSense.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_setObjSense</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="sym_setObjCoeff.html"><< sym_setObjCoeff</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setPrimalBound.html">sym_setPrimalBound >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_setObjSense</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_setObjSense</h1> + <p class="refpurpose">Set the objective sense</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_setObjSense</span><span class="default">(</span><span class="default">sense</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This function sets the sense of the objective function (minimization/maximization).</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">sense</span> + <dd><p class="para">The new sense of the objective function. Use sym_minimize or sym_maximize here</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0</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="scilabid">sym_setObjSense</span><span class="scilabopenclose">(</span><span class="scilabid">sym_minimize</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</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="sym_setObjCoeff.html"><< sym_setObjCoeff</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setPrimalBound.html">sym_setPrimalBound >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_setPrimalBound.html b/help/en_US/scilab_en_US_help/sym_setPrimalBound.html new file mode 100644 index 0000000..3040f55 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_setPrimalBound.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_setPrimalBound</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="sym_setObjSense.html"><< sym_setObjSense</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setStrParam.html">sym_setStrParam >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_setPrimalBound</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_setPrimalBound</h1> + <p class="refpurpose">Set the primal bound of the problem</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_setPrimalBound</span><span class="default">(</span><span class="default">bound</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">Set the primal bound of the loaded problem.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">bound</span> + <dd><p class="para">The new primal bound for the problem</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0</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="scilabid">sym_setPrimalBound</span><span class="scilabopenclose">(</span><span class="scilabnumber">10</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</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="sym_setObjSense.html"><< sym_setObjSense</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setStrParam.html">sym_setStrParam >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_setStrParam.html b/help/en_US/scilab_en_US_help/sym_setStrParam.html new file mode 100644 index 0000000..2fa67ca --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_setStrParam.html @@ -0,0 +1,83 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_setStrParam</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="sym_setPrimalBound.html"><< sym_setPrimalBound</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setVarLower.html">sym_setVarLower >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_setStrParam</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_setStrParam</h1> + <p class="refpurpose">This routine is used to set a string type parameter.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_setStrParam</span><span class="default">(</span><span class="default">key</span><span class="default">,</span><span class="default">value</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">key</span> + <dd><p class="para">The name of the string type parameter to be set. Note: should be given within " "</p></dd></dt> + <dt><span class="term">value</span> + <dd><p class="para">New value of the corresponding string parameter. Note: should be given within " "</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0 if the parameter specified is set to the value mentioned and 0 if setting of the string parameter was unsuccessful due to invalid inputs</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_setStrParam</span><span class="scilabopenclose">(</span><span class="scilabstring">"</span><span class="scilabstring">source_path</span><span class="scilabstring">"</span><span class="scilabdefault">,</span><span class="scilabstring">"</span><span class="scilabstring">.</span><span class="scilabstring">.</span><span class="scilabstring">"</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">Iswarya Hariharan</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="sym_setPrimalBound.html"><< sym_setPrimalBound</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setVarLower.html">sym_setVarLower >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_setVarLower.html b/help/en_US/scilab_en_US_help/sym_setVarLower.html new file mode 100644 index 0000000..2b977d2 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_setVarLower.html @@ -0,0 +1,85 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_setVarLower</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="sym_setStrParam.html"><< sym_setStrParam</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setVarSoln.html">sym_setVarSoln >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_setVarLower</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_setVarLower</h1> + <p class="refpurpose">Set lower bound of a variable</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_setVarLower</span><span class="default">(</span><span class="default">index</span><span class="default">,</span><span class="default">newBound</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This function changes the lower bound of a variable to a new value</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">index</span> + <dd><p class="para">Index of the variable to modify. Must be in {0,1,2,...n-1} where n is the number of variables in the problem</p></dd></dt> + <dt><span class="term">newBound</span> + <dd><p class="para">The new lower bound for the variable</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0</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="scilabid">sym_setVarLower</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabconstants">%inf</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</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="sym_setStrParam.html"><< sym_setStrParam</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setVarSoln.html">sym_setVarSoln >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_setVarSoln.html b/help/en_US/scilab_en_US_help/sym_setVarSoln.html new file mode 100644 index 0000000..f8c73c7 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_setVarSoln.html @@ -0,0 +1,84 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_setVarSoln</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="sym_setVarLower.html"><< sym_setVarLower</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setVarUpper.html">sym_setVarUpper >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_setVarSoln</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_setVarSoln</h1> + <p class="refpurpose">Set a solution for the problem</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_setVarSoln</span><span class="default">(</span><span class="default">solution</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">Sets a known solution for the problem.</p> + <p class="para">This function fails if the solution entered does not satisfy all bounds or is worse than another currently known solution.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">solution</span> + <dd><p class="para">Matrix containing solutions for the variables (must have size 1 row and number of columns equal to number of variables)</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0</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="scilabid">sym_setVarSoln</span><span class="scilabopenclose">(</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.2</span><span class="scilabdefault">,</span><span class="scilabnumber">4</span><span class="scilabopenclose">]</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</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="sym_setVarLower.html"><< sym_setVarLower</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_setVarUpper.html">sym_setVarUpper >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_setVarUpper.html b/help/en_US/scilab_en_US_help/sym_setVarUpper.html new file mode 100644 index 0000000..16659ce --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_setVarUpper.html @@ -0,0 +1,85 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_setVarUpper</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="sym_setVarSoln.html"><< sym_setVarSoln</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_solve.html">sym_solve >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_setVarUpper</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_setVarUpper</h1> + <p class="refpurpose">Set upper bound of a variable</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_setVarUpper</span><span class="default">(</span><span class="default">index</span><span class="default">,</span><span class="default">newBound</span><span class="default">)</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This function changes the upper bound of a variable to a new value</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <dl><dt><span class="term">index</span> + <dd><p class="para">Index of the variable to modify. Must be in {0,1,2,...n-1} where n is the number of variables in the problem</p></dd></dt> + <dt><span class="term">newBound</span> + <dd><p class="para">The new upper bound for the variable</p></dd></dt></dl></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">Returns 0</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="scilabid">sym_setVarUpper</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">100</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</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="sym_setVarSoln.html"><< sym_setVarSoln</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="sym_solve.html">sym_solve >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/sym_solve.html b/help/en_US/scilab_en_US_help/sym_solve.html new file mode 100644 index 0000000..67e43f5 --- /dev/null +++ b/help/en_US/scilab_en_US_help/sym_solve.html @@ -0,0 +1,81 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>sym_solve</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="sym_setVarUpper.html"><< sym_setVarUpper</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a></span> + + </td> + <td width="30%" class="next"> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > <a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</a> > sym_solve</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">sym_solve</h1> + <p class="refpurpose">To solve the currently loaded MILP problem from scratch.</p></div> + + <div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3> + <div class="synopsis"><pre><span class="functionid">sym_solve</span><span class="default">()</span></pre></div></div> + + <div class="refsection"><h3 class="title">Description</h3> + + <p class="para">This routine solves the currently loaded MILP problem from scratch.</p> + <p class="para">It prints status of the problem solver to scilab console.</p></div> + + <div class="refsection"><h3 class="title">Arguments</h3> + + <p class="para">This function takes no arguments</p></div> + + <div class="refsection"><h3 class="title">Return value</h3> + + <p class="para">It returns 1 if it receives any return-value indicating an error message or 0 if it receives any return-value indicating a non-error message.</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="scilabid">status</span><span class="scilaboperator">=</span><span class="scilabid">sym_solve</span><span class="scilabopenclose">(</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">Sai Kiran Naragam</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="sym_setVarUpper.html"><< sym_setVarUpper</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions</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/symphony.html b/help/en_US/scilab_en_US_help/symphony.html new file mode 100644 index 0000000..a27f8e8 --- /dev/null +++ b/help/en_US/scilab_en_US_help/symphony.html @@ -0,0 +1,224 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>symphony</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="qpipoptmat.html"><< qpipoptmat</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="symphonymat.html">symphonymat >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > symphony</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">symphony</h1> + <p class="refpurpose">Solves a mixed integer linear programming constrained 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">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">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">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> + <dl><dt><span class="term">nbVar :</span> + <dd><p class="para">a double, number of variables.</p></dd></dt> + <dt><span class="term">nbCon :</span> + <dd><p class="para">a double, 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> + <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> + <dt><span class="term">lb :</span> + <dd><p class="para">a vector of double, represents lower bounds of the 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> + <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> + <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> + <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> + <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> + <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> + <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> + +<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 "struct" 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"></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">//Reference: Westerberg, Carl-Henrik, Bengt Bjorklund, and Eskil Hultman. </span><span class="scilabcomment">"</span><span class="scilabcomment">An application of mixed integer programming in a Swedish steel mill.</span><span class="scilabcomment">"</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">'</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="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="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">"</span><span class="scilabcomment">A genetic algorithm for the multidimensional knapsack problem</span><span class="scilabcomment">"</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"><</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="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">'</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">nbCon</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://size">size</a><span class="scilabopenclose">(</span><span class="scilabid">A</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</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">A</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</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="scilabid">nbVar</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</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="scilabid">nbVar</span><span class="scilabdefault">,</span><span class="scilabnumber">1</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> <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="scilabid">nbVar</span><span class="scilabopenclose">)</span> +<span class="scilabcomment">// Lower Bound of constraints</span> +<span class="scilabid">conLB</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">nbCon</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</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">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="scilaboperator">'</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">"</span><span class="scilabstring">time_limit</span><span class="scilabstring">"</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="scilabnumber">0</span> <span class="scilabnumber">0</span> <span class="scilabnumber">1</span> <span class="scilabnumber">0</span> <span class="scilabspecial">..</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="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">symphony</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">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="scilaboperator">-</span><span class="scilabnumber">1</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> + +<div class="refsection"><h3 class="title">Authors</h3> + <ul class="itemizedlist"><li class="member">Keyur Joshi, Saikiran, Iswarya, 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="qpipoptmat.html"><< qpipoptmat</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="symphonymat.html">symphonymat >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/symphonymat.html b/help/en_US/scilab_en_US_help/symphonymat.html new file mode 100644 index 0000000..75edb56 --- /dev/null +++ b/help/en_US/scilab_en_US_help/symphonymat.html @@ -0,0 +1,213 @@ +<html><head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>symphonymat</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="symphony.html"><< symphony</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions >></a></span> + + </td> + </tr></table> + <hr /> + </div> + + + + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a> > symphonymat</span> + + <br /><br /> + <div class="refnamediv"><h1 class="refname">symphonymat</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">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">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">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">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> + <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 double, represents the linear coefficients in the inequality constraints A⋅x ≤ b.</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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + +<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 "struct" 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"></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">"</span><span class="scilabcomment">An application of mixed integer programming in a Swedish steel mill.</span><span class="scilabcomment">"</span><span class="scilabcomment"> Interfaces 7, no. 2 (1977): 39-43.</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">'</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="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">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="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">"</span><span class="scilabcomment">A genetic algorithm for the multidimensional knapsack problem</span><span class="scilabcomment">"</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"><</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">'</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> +<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">options</span> <span class="scilaboperator">=</span> <a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">"</span><span class="scilabstring">time_limit</span><span class="scilabstring">"</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="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> + +<div class="refsection"><h3 class="title">Authors</h3> + <ul class="itemizedlist"><li class="member">Keyur Joshi, Saikiran, Iswarya, 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="symphony.html"><< symphony</a></span> + + </td> + <td width="40%" class="center"> + <span class="top"><a href="section_19f4f1e5726c01d683e8b82be0a7e910.html">FOSSEE Optimization Toolbox</a></span> + + </td> + <td width="30%" class="next"> + <span class="next"><a href="section_508f0b211d17ea6769714cc144e6b731.html">Symphony Native Functions >></a></span> + + </td> + </tr></table> + <hr /> + </div> + </body> +</html> diff --git a/help/en_US/scilab_en_US_help/xml_code.css b/help/en_US/scilab_en_US_help/xml_code.css new file mode 100644 index 0000000..9e4c27f --- /dev/null +++ b/help/en_US/scilab_en_US_help/xml_code.css @@ -0,0 +1,94 @@ +.xmlcomment { + font-style: italic; + color: #01a801 +} + +.xmldefault { + font-style: normal; + color: #000000 +} + +.xmlentity { + font-style: normal; + color: #ffaa00 +} + +.xmlopeninstr { + font-style: normal; + color: #000000 +} + +.xmlcloseinstr { + font-style: normal; + color: #000000 +} + +.xmlinstrname { + font-style: normal; + color: #9965a6 +} + +.xmllowtag { + font-style: normal; + color: #000000 +} + +.xmltagname { + font-style: normal; + color: #0303ff +} + +.xmllowclose { + font-style: normal; + color: #000000 +} + +.xmlopencomment { + font-style: italic; + color: #01a801 +} + +.xmlcommentend { + font-style: italic; + color: #01a801 +} + +.xmlcomment { + font-style: italic; + color: #01a801 +} + +.xmlopencdata { + font-style: normal; + color: #c45555 +} + +.xmlcdataend { + font-style: normal; + color: #c45555 +} + +.xmlcdata { + font-style: normal; + color: #000000 +} + +.xmlattributename { + font-style: normal; + color: #9965a6 +} + +.xmlequal { + font-style: normal; + color: #000000 +} + +.xmlattributevalue { + font-style: normal; + color: #973964 +} + +.xmlautoclose { + font-style: normal; + color: #000000 +} diff --git a/jar/scilab_en_US_help.jar b/jar/scilab_en_US_help.jar Binary files differnew file mode 100644 index 0000000..04f7231 --- /dev/null +++ b/jar/scilab_en_US_help.jar diff --git a/loader.sce b/loader.sce new file mode 100644 index 0000000..573167b --- /dev/null +++ b/loader.sce @@ -0,0 +1,10 @@ +// This file is released under the 3-clause BSD license. See COPYING-BSD. +// Generated by builder.sce: Please, do not edit this file + +try + getversion("scilab"); +catch + error("Scilab 5.0 or more is required."); +end; + +exec(get_absolute_file_path("loader.sce")+"etc/"+"FOSSEE_Optimization_Toolbox.start"); diff --git a/macros/Checkdims.bin b/macros/Checkdims.bin Binary files differnew file mode 100644 index 0000000..40e385a --- /dev/null +++ b/macros/Checkdims.bin diff --git a/macros/Checklhs.bin b/macros/Checklhs.bin Binary files differnew file mode 100644 index 0000000..7156107 --- /dev/null +++ b/macros/Checklhs.bin diff --git a/macros/Checkrhs.bin b/macros/Checkrhs.bin Binary files differnew file mode 100644 index 0000000..2c45876 --- /dev/null +++ b/macros/Checkrhs.bin diff --git a/macros/Checktype.bin b/macros/Checktype.bin Binary files differnew file mode 100644 index 0000000..bbe1585 --- /dev/null +++ b/macros/Checktype.bin diff --git a/macros/Checkvector.bin b/macros/Checkvector.bin Binary files differnew file mode 100644 index 0000000..dfe03ab --- /dev/null +++ b/macros/Checkvector.bin diff --git a/macros/fgoalattain.bin b/macros/fgoalattain.bin Binary files differnew file mode 100644 index 0000000..faa0821 --- /dev/null +++ b/macros/fgoalattain.bin diff --git a/macros/fminbnd.bin b/macros/fminbnd.bin Binary files differnew file mode 100644 index 0000000..97b00fc --- /dev/null +++ b/macros/fminbnd.bin diff --git a/macros/fminbnd.sci b/macros/fminbnd.sci index 2c29b03..b8772ae 100644 --- a/macros/fminbnd.sci +++ b/macros/fminbnd.sci @@ -75,6 +75,7 @@ function [xopt,fopt,exitflag,output,lambda] = fminbnd (varargin) // <listitem>output.Cpu_Time: The total cpu-time spend during the search</listitem> // <listitem>output.Objective_Evaluation: The number of Objective Evaluations performed during the search</listitem> // <listitem>output.Dual_Infeasibility: The Dual Infeasiblity of the final soution</listitem> + // <listitem>output.Message: The output message for the problem</listitem> // </itemizedlist> // // The lambda data structure contains the Lagrange multipliers at the end @@ -157,7 +158,7 @@ function [xopt,fopt,exitflag,output,lambda] = fminbnd (varargin) //To check whether the 1st Input argument (fun) is a function or not if (type(fun) ~= 13 & type(fun) ~= 11) then - errmsg = msprintf(gettext("%s: Expected function for Objective (1st Parameter)"), "fmincon"); + errmsg = msprintf(gettext("%s: Expected function for Objective (1st Parameter)"), "fminbnd"); error(errmsg); end @@ -198,6 +199,12 @@ function [xopt,fopt,exitflag,output,lambda] = fminbnd (varargin) end s=size(x1); + //To check the match between f (1st Parameter) and x1 (2nd Parameter) + if(execstr('init=fun(x1)','errcatch')==21) then + errmsg = msprintf(gettext("%s: Objective function and x1 did not match"), "fminbnd"); + error(errmsg); + end + //To check whether the 3rd Input argument (x2) is a vector/scalar if (type(x2) ~= 1) then errmsg = msprintf(gettext("%s: Expected Vector/Scalar for Upper Bound Vector (3rd Parameter)"), "fminbnd"); @@ -225,9 +232,15 @@ function [xopt,fopt,exitflag,output,lambda] = fminbnd (varargin) x2=x2'; end + //To check the match between f (1st Parameter) and x2 (3rd Parameter) + if(execstr('init=fun(x2)','errcatch')==21) then + errmsg = msprintf(gettext("%s: Objective function and x2 did not match"), "fminbnd"); + error(errmsg); + end + //To check the contents of x1 and x2 (2nd & 3rd Parameter) - for i = 1:s(2) + for i = 1:s(1) if (x1(i) == %inf) then errmsg = msprintf(gettext("%s: Value of Lower Bound can not be infinity"), "fminbnd"); error(errmsg); @@ -237,7 +250,7 @@ function [xopt,fopt,exitflag,output,lambda] = fminbnd (varargin) error(errmsg); end if(x2(i)-x1(i)<=1e-6) then - errmsg = msprintf(gettext("%s: Difference between Upper Bound and Lower bound should be atleast > 10^6 for variable number= %d "), "fminbnd", i); + errmsg = msprintf(gettext("%s: Difference between Upper Bound and Lower bound should be atleast > 10^-6 for variable number= %d "), "fminbnd", i); error(errmsg) end end @@ -255,11 +268,26 @@ function [xopt,fopt,exitflag,output,lambda] = fminbnd (varargin) for i = 1:(size(param))/2 select convstr(param(2*i-1),'l') case "maxiter" then - options(2*i) = param(2*i); + if (type(param(2*i))~=1) then + errmsg = msprintf(gettext("%s: Value for Maximum Iteration should be a Constant"), "fminbnd"); + error(errmsg); + else + options(2*i) = param(2*i); //Setting the maximum number of iterations as per user entry + end case "cputime" then - options(2*i) = param(2*i); + if (type(param(2*i))~=1) then + errmsg = msprintf(gettext("%s: Value for Maximum Cpu-time should be a Constant"), "fminbnd"); + error(errmsg); + else + options(2*i) = param(2*i); //Setting the maximum CPU time as per user entry + end case "tolx" then - options(2*i) = param(2*i); + if (type(param(2*i))~=1) then + errmsg = msprintf(gettext("%s: Value for Tolerance should be a Constant"), "fminbnd"); + error(errmsg); + else + options(2*i) = param(2*i); //Setting the tolerance as per user entry + end else errmsg = msprintf(gettext("%s: Unrecognized parameter name %s."), "fminbnd", param(2*i-1)); error(errmsg) @@ -304,7 +332,7 @@ function [xopt,fopt,exitflag,output,lambda] = fminbnd (varargin) //Calculating the values for the output xopt = xopt'; exitflag = status; - output = struct("Iterations", [],"Cpu_Time",[],"Objective_Evaluation",[],"Dual_Infeasibility",[]); + output = struct("Iterations", [],"Cpu_Time",[],"Objective_Evaluation",[],"Dual_Infeasibility",[],"Message",""); output.Iterations = iter; output.Cpu_Time = cpu; output.Objective_Evaluation = obj_eval; @@ -315,7 +343,7 @@ function [xopt,fopt,exitflag,output,lambda] = fminbnd (varargin) if( status~=0 & status~=1 & status~=2 & status~=3 & status~=4 & status~=7 ) then xopt=[] fopt=[] - output = struct("Iterations", [],"Cpu_Time",[]); + output = struct("Iterations", [],"Cpu_Time",[],"Message",""); output.Iterations = iter; output.Cpu_Time = cpu; lambda = struct("lower",[],"upper",[]); @@ -326,38 +354,54 @@ function [xopt,fopt,exitflag,output,lambda] = fminbnd (varargin) case 0 then printf("\nOptimal Solution Found.\n"); + output.Message="Optimal Solution Found"; case 1 then printf("\nMaximum Number of Iterations Exceeded. Output may not be optimal.\n"); + output.Message="Maximum Number of Iterations Exceeded. Output may not be optimal"; case 2 then - printf("\nMaximum CPU Time exceeded. Output may not be optimal.\n"); + printf("\nMaximum CPU Time exceeded. Output may not be optimal.\n"); + output.Message="Maximum CPU Time exceeded. Output may not be optimal"; case 3 then printf("\nStop at Tiny Step\n"); + output.Message="Stop at Tiny Step"; case 4 then printf("\nSolved To Acceptable Level\n"); + output.Message="Solved To Acceptable Level"; case 5 then printf("\nConverged to a point of local infeasibility.\n"); + output.Message="Converged to a point of local infeasibility"; case 6 then printf("\nStopping optimization at current point as requested by user.\n"); + output.Message="Stopping optimization at current point as requested by user"; case 7 then printf("\nFeasible point for square problem found.\n"); + output.Message="Feasible point for square problem found"; case 8 then printf("\nIterates diverging; problem might be unbounded.\n"); + output.Message="Iterates diverging; problem might be unbounded"; case 9 then printf("\nRestoration Failed!\n"); + output.Message="Restoration Failed!"; case 10 then printf("\nError in step computation (regularization becomes too large?)!\n"); - case 12 then + output.Message="Error in step computation (regularization becomes too large?)!"; + case 11 then printf("\nProblem has too few degrees of freedom.\n"); + output.Message="Problem has too few degrees of freedom"; + case 12 then + printf("\nInvalid option thrown back by Ipopt\n"); + output.Message="Invalid option thrown back by Ipopt"; case 13 then - printf("\nInvalid option thrown back by Ipopt\n"); - case 14 then printf("\nNot enough memory.\n"); + output.Message="Not enough memory"; case 15 then printf("\nINTERNAL ERROR: Unknown SolverReturn value - Notify Ipopt Authors.\n"); + output.Message="INTERNAL ERROR: Unknown SolverReturn value - Notify Ipopt Authors"; else printf("\nInvalid status returned. Notify the Toolbox authors\n"); + output.Message="Invalid status returned. Notify the Toolbox authors"; break; - end + end endfunction diff --git a/macros/fmincon.bin b/macros/fmincon.bin Binary files differnew file mode 100644 index 0000000..c9ba515 --- /dev/null +++ b/macros/fmincon.bin diff --git a/macros/fmincon.sci b/macros/fmincon.sci index 2393649..9faefc4 100644 --- a/macros/fmincon.sci +++ b/macros/fmincon.sci @@ -93,6 +93,7 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin // <listitem>output.Cpu_Time: The total cpu-time spend during the search</listitem> // <listitem>output.Objective_Evaluation: The number of Objective Evaluations performed during the search</listitem> // <listitem>output.Dual_Infeasibility: The Dual Infeasiblity of the final soution</listitem> + // <listitem>output.Message: The output message for the problem</listitem> // </itemizedlist> // // The lambda data structure contains the Lagrange multipliers at the end @@ -260,6 +261,7 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin // options=list("MaxIter", [1500], "CpuTime", [500], "GradObj", fGrad, "Hessian", lHess,"GradCon", cGrad); // //Calling Ipopt // [x,fval,exitflag,output,lambda,grad,hessian] =fmincon(f, x0,A,b,Aeq,beq,lb,ub,nlc,options) + // // Press ENTER to continue // Authors // R.Vidyadhar , Vignesh Kannan @@ -268,10 +270,15 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin [lhs , rhs] = argn(); //To check the number of arguments given by the user - if ( rhs<4 | rhs==5 | rhs==7 | rhs>10 ) then + if ( rhs<4 | rhs>10 ) then errmsg = msprintf(gettext("%s: Unexpected number of input arguments : %d provided while it should be 4,6,8,9,10"), "fmincon", rhs); error(errmsg) end + + if (rhs==5 | rhs==7) then + errmsg = msprintf(gettext("%s: Unexpected number of input arguments : %d provided while it should be 4,6,8,9,10s"), "fmincon", rhs); + error(errmsg) + end //Storing the Input Parameters fun = varargin(1); @@ -299,16 +306,10 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin end //To check whether the 1st Input argument (fun) is a function or not - if (type(fun) ~= 13 & type(fun) ~= 11) then - errmsg = msprintf(gettext("%s: Expected function for Objective (1st Parameter)"), "fmincon"); - error(errmsg); - end + Checktype("fmincon", fun, "f", 1, "function"); //To check whether the 2nd Input argument (x0) is a vector/scalar - if (type(x0) ~= 1) then - errmsg = msprintf(gettext("%s: Expected Vector/Scalar for Starting Point (2nd Parameter)"), "fmincon"); - error(errmsg); - end + Checktype("fmincon", x0, "x0", 2, "constant"); //To check and convert the 2nd Input argument (x0) to a row vector if((size(x0,1)~=1) & (size(x0,2)~=1)) then @@ -346,10 +347,7 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin endfunction //To check whether the 3rd Input argument (A) is a Matrix/Vector - if (type(A) ~= 1) then - errmsg = msprintf(gettext("%s: Expected Matrix/Vector for Constraint Matrix A (3rd parameter)"), "fmincon"); - error(errmsg); - end + Checktype("fmincon", A, "A", 3, "constant"); //To check for correct size of A(3rd paramter) if(size(A,2)~=s(2) & size(A,2)~=0) then @@ -360,10 +358,7 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin s1=size(A); //To check whether the 4th Input argument (b) is a vector/scalar - if (type(b) ~= 1) then - errmsg = msprintf(gettext("%s: Expected Vector/Scalar for b (4th Parameter)"), "fmincon"); - error(errmsg); - end + Checktype("fmincon", b, "b", 4, "constant"); //To check for the correct size of b (4th paramter) and convert it into a column vector which is required for Ipopt if(s1(2)==0) then @@ -389,10 +384,7 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin end //To check whether the 5th Input argument (Aeq) is a matrix/vector - if (type(Aeq) ~= 1) then - errmsg = msprintf(gettext("%s: Expected Matrix/Vector for Equality Constraint Matrix Aeq (5th Parameter)"), "fmincon"); - error(errmsg); - end + Checktype("fmincon", Aeq, "Aeq", 5, "constant"); //To check for the correct size of Aeq (5th paramter) if(size(Aeq,2)~=s(2) & size(Aeq,2)~=0) then @@ -403,10 +395,7 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin s2=size(Aeq); //To check whether the 6th Input argument(beq) is a vector/scalar - if (type(beq) ~= 1) then - errmsg = msprintf(gettext("%s: Expected Vector/Scalar for beq (6th Parameter)"), "fmincon"); - error(errmsg); - end + Checktype("fmincon", beq, "beq", 6, "constant"); //To check for the correct size of beq(6th paramter) and convert it into a column vector which is required for Ipopt if(s2(2)==0) then @@ -433,10 +422,7 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin //To check whether the 7th Input argument (lb) is a vector/scalar - if (type(lb) ~= 1) then - errmsg = msprintf(gettext("%s: Expected Vector/Scalar for Lower Bound Vector (7th Parameter)"), "fmincon"); - error(errmsg); - end + Checktype("fmincon", lb, "lb", 7, "constant"); //To check for the correct size and data of lb (7th paramter) and convert it into a column vector as required by Ipopt if (size(lb,2)==0) then @@ -459,10 +445,7 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin end //To check whether the 8th Input argument (ub) is a vector/scalar - if (type(ub) ~= 1) then - errmsg = msprintf(gettext("%s: Expected Vector/Scalar for Upper Bound Vector (8th Parameter)"), "fmincon"); - error(errmsg); - end + Checktype("fmincon", ub, "ub", 8, "constant"); //To check for the correct size and data of ub (8th paramter) and convert it into a column vector as required by Ipopt if (size(ub,2)==0) then @@ -497,7 +480,7 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin end if(ub(i)-lb(i)<=1e-6) then - errmsg = msprintf(gettext("%s: Difference between Upper Bound and Lower bound should be atleast > 10^6 for variable number= %d "), "fmincon", i); + errmsg = msprintf(gettext("%s: Difference between Upper Bound and Lower bound should be atleast > 10^-6 for variable number= %d "), "fmincon", i); error(errmsg) end end @@ -530,7 +513,6 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin no_nlic = size(sample_c,2); no_nlec = size(sample_ceq,2); no_nlc = no_nlic + no_nlec; - //Constructing a single output variable function for nlc function y = addnlc(x) [c,ceq] = nlc(x); @@ -580,74 +562,13 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin end //If options has been entered, then check its type for 'list' - if (type(param) ~= 15) then - errmsg = msprintf(gettext("%s: Options (10th parameter) should be a list"), "fmincon"); - error(errmsg); - end + Checktype("fmincon", param, "options", 10, "list"); //If options has been entered, then check whether an even number of entires has been entered if (modulo(size(param),2)) then errmsg = msprintf(gettext("%s: Size of Options (list) should be even"), "fmincon"); error(errmsg); end - - - //Defining a function to calculate Gradient or Hessian if the respective user entry is OFF - function [y,check] = gradhess(x,t) - if t==1 then //To return Gradient - if(execstr('y=numderivative(fun,x)','errcatch')==10000) - y=0; - check=1; - else - y=numderivative(fun,x); - if (isreal(y)==%F) then - y=0; - check=1; - else - check=0; - end - end - elseif t==2 then //To return Hessian - if(execstr('[grad,y]=numderivative(fun,x)','errcatch')==10000) - y=0; - check=1; - else - [grad,y]=numderivative(fun,x); - if (isreal(y)==%F) then - y=0; - check=1; - else - check=0; - end - end - elseif t==3 then //To return Gradient - if(execstr('y=numderivative(addnlc,x)','errcatch')==10000) - y=0; - check=1; - else - y=numderivative(addnlc,x); - if (isreal(y)==%F) then - y=0; - check=1; - else - check=0; - end - end - elseif t==4 then //To return Hessian - if(execstr('[grad,y]=numderivative(addnlc,x)','errcatch')==10000) - y=0; - check=1; - else - [grad,y]=numderivative(addnlc,x); - if (isreal(y)==%F) then - y=0; - check=1; - else - check=0; - end - end - end - endfunction //To set default values for options, if user doesn't enter options options = list("MaxIter", [3000], "CpuTime", [600]); @@ -669,31 +590,65 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin //To check the user entry for options and storing it for i = 1:(size(param))/2 select convstr(param(2*i-1),'l') - case "maxiter" then - options(2*i) = param(2*i); //Setting the maximum number of iterations as per user entry + case "maxiter" then + if (type(param(2*i))~=1) then + errmsg = msprintf(gettext("%s: Value for Maximum Iteration should be a Constant"), "fmincon"); + error(errmsg); + else + options(2*i) = param(2*i); //Setting the maximum number of iterations as per user entry + end case "cputime" then - options(2*i) = param(2*i); //Setting the maximum CPU time as per user entry + if (type(param(2*i))~=1) then + errmsg = msprintf(gettext("%s: Value for Maximum Cpu-time should be a Constant"), "fmincon"); + error(errmsg); + else + options(2*i) = param(2*i); //Setting the maximum CPU time as per user entry + end case "gradobj" then - flag1=1; - fGrad=param(2*i); + if (type(param(2*i))==10) then + if (convstr(param(2*i))=="off") then + flag1 =0; + else + errmsg = msprintf(gettext("%s: Unrecognized String [%s] entered for the option- %s."), "fmincon",param(2*i), param(2*i-1)); + error(errmsg); + end + else + flag1 = 1; + fGrad = param(2*i); + end case "hessian" then - flag2=1; - lHess=param(2*i); + if (type(param(2*i))==10) then + if (convstr(param(2*i))=="off") then + flag2 =0; + else + errmsg = msprintf(gettext("%s: Unrecognized String [%s] entered for the option- %s."), "fmincon",param(2*i), param(2*i-1)); + error(errmsg); + end + else + flag2 = 1; + lHess = param(2*i); + end case "gradcon" then - flag3=1; - cGrad=param(2*i); + if (type(param(2*i))==10) then + if (convstr(param(2*i))=="off") then + flag3 =0; + else + errmsg = msprintf(gettext("%s: Unrecognized String [%s] entered for the option- %s."), "fmincon",param(2*i), param(2*i-1)); + error(errmsg); + end + else + flag3 = 1; + cGrad = param(2*i); + end else errmsg = msprintf(gettext("%s: Unrecognized parameter name %s."), "fmincon", param(2*i-1)); error(errmsg); end end - //To check for correct input of Gradient and Hessian functions from the user + //To check for correct input of Objective Gradient function from the user if (flag1==1) then - if (type(fGrad) ~= 11 & type(fGrad) ~= 13) then - errmsg = msprintf(gettext("%s: Expected function for Gradient of Objective"), "fmincon"); - error(errmsg); - end + Checktype("fmincon", fGrad, "fGrad", 10, "function"); if(execstr('sample_fGrad=fGrad(x0)','errcatch')==21) errmsg = msprintf(gettext("%s: Gradient function of Objective and x0 did not match "), "fmincon"); @@ -704,32 +659,16 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin if (size(sample_fGrad,1)==s(2) & size(sample_fGrad,2)==1) then elseif (size(sample_fGrad,1)==1 & size(sample_fGrad,2)==s(2)) then - elseif (size(sample_fGrad,1)~=1 & size(sample_fGrad,2)~=1) then - errmsg = msprintf(gettext("%s: Wrong Input for Objective Gradient function(10th Parameter)---->Vector function is Expected"), "fmincon"); + else + errmsg = msprintf(gettext("%s: Wrong Input for Objective Gradient function(3rd Parameter)---->Row Vector function of size [1 X %d] is Expected"), "fmincon",s(2)); error(errmsg); - end - - function [y,check] = fGrad1(x) - if(execstr('y=fGrad(x)','errcatch')==32 | execstr('y=fGrad(x)','errcatch')==27) - y = 0; - check=1; - else - y=fGrad(x); - if (isreal(y)==%F) then - y = 0; - check=1; - else - check=0; - end - end - endfunction - + end end + + //To check for correct input of Lagrangian Hessian function from the user if (flag2==1) then - if (type(lHess) ~= 11 & type(lHess) ~= 13) then - errmsg = msprintf(gettext("%s: Expected function for Hessian of Objective"), "fmincon"); - error(errmsg); - end + Checktype("fmincon", lHess, "lHess", 10, "function"); + if(execstr('sample_lHess=lHess(x0,1,1:no_nlc)','errcatch')==21) errmsg = msprintf(gettext("%s: Hessian function of Objective and x0 did not match "), "fmincon"); error(errmsg); @@ -738,29 +677,12 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin if(size(sample_lHess,1)~=s(2) | size(sample_lHess,2)~=s(2)) then errmsg = msprintf(gettext("%s: Wrong Input for Objective Hessian function(10th Parameter)---->Symmetric Matrix function is Expected "), "fmincon"); error(errmsg); - end - - function [y,check] = lHess1(x,obj,lambda) - if(execstr('y=lHess(x,obj,lambda)','errcatch')==32 | execstr('y=lHess(x,obj,lambda)','errcatch')==27) - y = 0; - check=1; - else - y=lHess(x,obj,lambda); - if (isreal(y)==%F) then - y = 0; - check=1; - else - check=0; - end - end - endfunction - + end end + + //To check for correct input of Constraint Gradient function from the user if (flag3==1) then - if (type(cGrad) ~= 11 & type(cGrad) ~= 13) then - errmsg = msprintf(gettext("%s: Expected function for Gradient of Constraint function"), "fmincon"); - error(errmsg); - end + Checktype("fmincon", cGrad, "cGrad", 10, "function"); if(execstr('[sample_cGrad,sample_ceqg]=cGrad(x0)','errcatch')==21) errmsg = msprintf(gettext("%s: Gradient function of Constraint and x0 did not match "), "fmincon"); @@ -790,36 +712,149 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin errmsg = msprintf(gettext("%s: Wrong Input for Constraint Gradient function(10th Parameter) (Refer Help)"), "fmincon"); error(errmsg); end - - function [y,check] = addcGrad1(x) - if(execstr('y=addcGrad(x)','errcatch')==32 | execstr('y=addcGrad(x)','errcatch')==27) - y = 0; - check=1; - else - y=addcGrad(x); - if (isreal(y)==%F) then + end + + //Defining an inbuilt Objective gradient function + function [y,check] = fGrad1(x) + if flag1==1 then + if(execstr('y=fGrad(x)','errcatch')==32 | execstr('y=fGrad(x)','errcatch')==27) + y = 0; + check=1; + else + y=fGrad(x); + if (isreal(y)==%F) then + y = 0; + check=1; + else + check=0; + end + end + else + if(execstr('y=numderivative(fun,x)','errcatch')==10000) + y=0; + check=1; + else + y=numderivative(fun,x); + if (isreal(y)==%F) then + y=0; + check=1; + else + check=0; + end + end + end + endfunction + + //Defining an inbuilt Lagrangian Hessian function + function [y,check] = lHess1(x,obj,lambda) + if flag2==1 then + if(execstr('y=lHess(x,obj,lambda)','errcatch')==32 | execstr('y=lHess(x,obj,lambda)','errcatch')==27) y = 0; check=1; - else - check=0; + else + y=lHess(x,obj,lambda); + if (isreal(y)==%F) then + y = 0; + check=1; + else + check=0; + end end + else + if(execstr('[grad,y]=numderivative(fun,x)','errcatch')==10000) + check1=1; + else + [grad,y1]=numderivative(fun,x); + if (isreal(y1)==%F) then + check1=1; + else + check1=0; + end + end + + + if check1==0 then + if no_nlc~=0 then + if(execstr('[grad,y]=numderivative(addnlc,x)','errcatch')==10000) + check2=1; + else + [grad,y2]=numderivative(addnlc,x); + if (isreal(y2)==%F) then + check2=1; + else + check2=0; + end + end + if check2==0 then + y2=matrix(y2, no_nlc*s(2)*s(2),1) + for i = 1:s(2)*s(2) + y(i)=0; + for j = 1:no_nlc + y(i)= y(i) + lambda(j)*y2((i-1)*no_nlc+j); + end + end + + for i = 1:s(2)*s(2) + y(i) = y(i)+ obj*y1(i); + end + check=0; + else + check=1; + end + else + check=0; + for i = 1:s(2)*s(2) + y(i) = obj*y1(i); + end + end + else + check=1; + y=[0]; + end end - endfunction - end - - //To Convert the Gradient and Hessian into Error Debugable form + endfunction + //Defining an inbuilt Constraint gradient function + function [y,check] = addcGrad1(x) + if flag3==1 then + if(execstr('y=addcGrad(x)','errcatch')==32 | execstr('y=addcGrad(x)','errcatch')==27) + y = 0; + check=1; + else + y=addcGrad(x); + if (isreal(y)==%F) then + y = 0; + check=1; + else + check=0; + end + end + else + if(execstr('y=numderivative(addnlc,x)','errcatch')==10000) + y=0; + check=1; + else + y=numderivative(addnlc,x); + if (isreal(y)==%F) then + y=0; + check=1; + else + check=0; + end + end + end + endfunction + + //Creating a Dummy Variable for IPopt use + empty=[0]; - //Dummy variable which is used by Ipopt - empty=0; - //Calling the Ipopt function for solving the above problem - [xopt,fopt,status,iter,cpu,obj_eval,dual,lambda1,zl,zu,gradient,hessian1] = solveminconp (f,gradhess,A,b,Aeq,beq,lb,ub,no_nlc,no_nlic,addnlc1,flag1,fGrad1,flag2,lHess1,flag3,addcGrad1,x0,options,empty) + [xopt,fopt,status,iter,cpu,obj_eval,dual,lambda1,zl,zu,gradient,hessian1] = solveminconp(f,A,b,Aeq,beq,lb,ub,no_nlc,no_nlic,addnlc1,fGrad1,lHess1,addcGrad1,x0,options,empty) //Calculating the values for the output xopt = xopt'; exitflag = status; - output = struct("Iterations", [],"Cpu_Time",[],"Objective_Evaluation",[],"Dual_Infeasibility",[]); + output = struct("Iterations", [],"Cpu_Time",[],"Objective_Evaluation",[],"Dual_Infeasibility",[],"Message",""); output.Iterations = iter; output.Cpu_Time = cpu; output.Objective_Evaluation = obj_eval; @@ -857,7 +892,7 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin lambda.ineqlin (j) = lambda1(i) j= j+1; end - lambda.ineqlin = lambda.ineqlin'; + lambda.ineqlin = lambda.ineqlin' end //Converting hessian of order (1 x (numberOfVariables)^2) received from Ipopt to order (numberOfVariables x numberOfVariables) @@ -872,7 +907,7 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin if( status~=0 & status~=1 & status~=2 & status~=3 & status~=4 & status~=7 ) then xopt=[]; fopt=[]; - output = struct("Iterations", [],"Cpu_Time",[]); + output = struct("Iterations", [],"Cpu_Time",[],"Message",""); output.Iterations = iter; output.Cpu_Time = cpu; lambda = struct("lower",[],"upper",[],"ineqlin",[],"eqlin",[],"ineqnonlin",[],"eqnonlin",[]); @@ -886,37 +921,54 @@ function [xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (varargin case 0 then printf("\nOptimal Solution Found.\n"); + output.Message="Optimal Solution Found"; case 1 then printf("\nMaximum Number of Iterations Exceeded. Output may not be optimal.\n"); + output.Message="Maximum Number of Iterations Exceeded. Output may not be optimal"; case 2 then printf("\nMaximum CPU Time exceeded. Output may not be optimal.\n"); + output.Message="Maximum CPU Time exceeded. Output may not be optimal"; case 3 then printf("\nStop at Tiny Step\n"); + output.Message="Stop at Tiny Step"; case 4 then printf("\nSolved To Acceptable Level\n"); + output.Message="Solved To Acceptable Level"; case 5 then printf("\nConverged to a point of local infeasibility.\n"); + output.Message="Converged to a point of local infeasibility"; case 6 then printf("\nStopping optimization at current point as requested by user.\n"); + output.Message="Stopping optimization at current point as requested by user"; case 7 then printf("\nFeasible point for square problem found.\n"); + output.Message="Feasible point for square problem found"; case 8 then printf("\nIterates diverging; problem might be unbounded.\n"); + output.Message="Iterates diverging; problem might be unbounded"; case 9 then printf("\nRestoration Failed!\n"); + output.Message="Restoration Failed!"; case 10 then printf("\nError in step computation (regularization becomes too large?)!\n"); + output.Message="Error in step computation (regularization becomes too large?)!"; case 11 then printf("\nProblem has too few degrees of freedom.\n"); + output.Message="Problem has too few degrees of freedom"; case 12 then printf("\nInvalid option thrown back by Ipopt\n"); + output.Message="Invalid option thrown back by Ipopt"; case 13 then printf("\nNot enough memory.\n"); + output.Message="Not enough memory"; case 15 then printf("\nINTERNAL ERROR: Unknown SolverReturn value - Notify Ipopt Authors.\n"); + output.Message="INTERNAL ERROR: Unknown SolverReturn value - Notify Ipopt Authors"; else printf("\nInvalid status returned. Notify the Toolbox authors\n"); + output.Message="Invalid status returned. Notify the Toolbox authors"; break; end + endfunction diff --git a/macros/fminimax.bin b/macros/fminimax.bin Binary files differnew file mode 100644 index 0000000..c023720 --- /dev/null +++ b/macros/fminimax.bin diff --git a/macros/fminimax.sci b/macros/fminimax.sci index c775b1b..b649640 100644 --- a/macros/fminimax.sci +++ b/macros/fminimax.sci @@ -19,11 +19,11 @@ function [x,fval,maxfval,exitflag,output,lambda] = fminimax(varargin) // xopt = fminimax(fun,x0,A,b,Aeq,beq,lb,ub) // xopt = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlinfun) // xopt = fminimax(fun,x0,A,b,Aeq,beq,lb,ub,nonlinfun,options) - // [xopt, fval] = fmincon(.....) - // [xopt, fval, maxfval]= fmincon(.....) - // [xopt, fval, maxfval, exitflag]= fmincon(.....) - // [xopt, fval, maxfval, exitflag, output]= fmincon(.....) - // [xopt, fval, maxfval, exitflag, output, lambda]= fmincon(.....) + // [xopt, fval] = fminimax(.....) + // [xopt, fval, maxfval]= fminimax(.....) + // [xopt, fval, maxfval, exitflag]= fminimax(.....) + // [xopt, fval, maxfval, exitflag, output]= fminimax(.....) + // [xopt, fval, maxfval, exitflag, output, lambda]= fminimax(.....) // // Parameters // fun: 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. diff --git a/macros/fminunc.bin b/macros/fminunc.bin Binary files differnew file mode 100644 index 0000000..aa82fc3 --- /dev/null +++ b/macros/fminunc.bin diff --git a/macros/fminunc.sci b/macros/fminunc.sci index a936aa1..b8ff7b5 100644 --- a/macros/fminunc.sci +++ b/macros/fminunc.sci @@ -75,6 +75,7 @@ function [xopt,fopt,exitflag,output,gradient,hessian] = fminunc (varargin) // <listitem>output.Cpu_Time: The total cpu-time spend during the search</listitem> // <listitem>output.Objective_Evaluation: The number of Objective Evaluations performed during the search</listitem> // <listitem>output.Dual_Infeasibility: The Dual Infeasiblity of the final soution</listitem> + // <listitem>output.Message: The output message for the problem</listitem> // </itemizedlist> // // Examples @@ -143,7 +144,7 @@ function [xopt,fopt,exitflag,output,gradient,hessian] = fminunc (varargin) [lhs , rhs] = argn(); //To check the number of arguments given by the user - if ( rhs<2 | rhs>5 ) then + if ( rhs<2 | rhs>3 ) then errmsg = msprintf(gettext("%s: Unexpected number of input arguments : %d provided while should be 2 or 5"), "fminunc", rhs); error(errmsg) end @@ -166,7 +167,7 @@ function [xopt,fopt,exitflag,output,gradient,hessian] = fminunc (varargin) //To check and convert the 2nd Input argument(x0) to a row vector if((size(x0,1)~=1) & (size(x0,2)~=1)) then - errmsg = msprintf(gettext("%s: Expected Row Vector or Column Vector for x0 (Initial Value) "), "fminunc", rhs); + errmsg = msprintf(gettext("%s: Expected Row Vector or Column Vector for x0 (Initial Value) "), "fminunc"); error(errmsg); else if(size(x0,2)==1) then @@ -266,22 +267,49 @@ function [xopt,fopt,exitflag,output,gradient,hessian] = fminunc (varargin) for i = 1:(size(param))/2 select convstr(param(2*i-1),'l') case "maxiter" then - options(2*i) = param(2*i); //Setting the maximum number of iterations as per user entry + if (type(param(2*i))~=1) then + errmsg = msprintf(gettext("%s: Value for Maximum Iteration should be a Constant"), "fminunc"); + error(errmsg); + else + options(2*i) = param(2*i); //Setting the maximum number of iterations as per user entry + end case "cputime" then - options(2*i) = param(2*i); //Setting the maximum CPU time as per user entry + if (type(param(2*i))~=1) then + errmsg = msprintf(gettext("%s: Value for Maximum Cpu-time should be a Constant"), "fminunc"); + error(errmsg); + else + options(2*i) = param(2*i); //Setting the maximum CPU time as per user entry + end case "gradient" then - flag1 = 1; - fGrad = param(2*i); + if (type(param(2*i))==10) then + if (convstr(param(2*i))=="off") then + flag1 =0; + else + errmsg = msprintf(gettext("%s: Unrecognized String [%s] entered for the option- %s."), "fminunc",param(2*i), param(2*i-1)); + error(errmsg); + end + else + flag1 = 1; + fGrad = param(2*i); + end case "hessian" then - flag2 = 1; - fHess = param(2*i); + if (type(param(2*i))==10) then + if (convstr(param(2*i))=="off") then + flag2 =0; + else + errmsg = msprintf(gettext("%s: Unrecognized String [%s] entered for the option- %s."), "fminunc",param(2*i), param(2*i-1)); + error(errmsg); + end + else + flag2 = 1; + fHess = param(2*i); + end else - errmsg = msprintf(gettext("%s: Unrecognized parameter name %s."), "fminbnd", param(2*i-1)); + errmsg = msprintf(gettext("%s: Unrecognized parameter name %s."), "fminunc", param(2*i-1)); error(errmsg) end end - //To check for correct input of Gradient and Hessian functions from the user if (flag1==1) then if (type(fGrad) ~= 13 & type(fGrad) ~= 11) then @@ -298,8 +326,8 @@ function [xopt,fopt,exitflag,output,gradient,hessian] = fminunc (varargin) if (size(samplefGrad,1)==s(2) & size(samplefGrad,2)==1) then elseif (size(samplefGrad,1)==1 & size(samplefGrad,2)==s(2)) then - elseif (size(samplefGrad,1)~=1 & size(samplefGrad,2)~=1) then - errmsg = msprintf(gettext("%s: Wrong Input for Objective Gradient function(3rd Parameter)---->Row Vector function is Expected"), "fminunc"); + else + errmsg = msprintf(gettext("%s: Wrong Input for Objective Gradient function(3rd Parameter)---->Row Vector function of size [1 X %d] is Expected"), "fminunc",s(2)); error(errmsg); end @@ -332,7 +360,7 @@ function [xopt,fopt,exitflag,output,gradient,hessian] = fminunc (varargin) samplefHess=fHess(x0); if(size(samplefHess,1)~=s(2) | size(samplefHess,2)~=s(2)) then - errmsg = msprintf(gettext("%s: Wrong Input for Objective Hessian function(3rd Parameter)---->Symmetric Matrix function is Expected "), "fminunc"); + errmsg = msprintf(gettext("%s: Wrong Input for Objective Hessian function(3rd Parameter)---->Symmetric Matrix function of size [%d X %d] is Expected "), "fminunc",s(2),s(2)); error(errmsg); end @@ -358,7 +386,7 @@ function [xopt,fopt,exitflag,output,gradient,hessian] = fminunc (varargin) //Calculating the values for output xopt = xopt'; exitflag = status; - output = struct("Iterations", [],"Cpu_Time",[],"Objective_Evaluation",[],"Dual_Infeasibility",[]); + output = struct("Iterations", [],"Cpu_Time",[],"Objective_Evaluation",[],"Dual_Infeasibility",[],"Message",""); output.Iterations = iter; output.Cpu_Time = cpu; output.Objective_Evaluation = obj_eval; @@ -377,7 +405,7 @@ function [xopt,fopt,exitflag,output,gradient,hessian] = fminunc (varargin) if( status~=0 & status~=1 & status~=2 & status~=3 & status~=4 & status~=7 ) then xopt=[] fopt=[] - output = struct("Iterations", [],"Cpu_Time",[]); + output = struct("Iterations", [],"Cpu_Time",[],"Message",""); output.Iterations = iter; output.Cpu_Time = cpu; gradient=[] @@ -390,38 +418,54 @@ function [xopt,fopt,exitflag,output,gradient,hessian] = fminunc (varargin) case 0 then printf("\nOptimal Solution Found.\n"); + output.Message="Optimal Solution Found"; case 1 then printf("\nMaximum Number of Iterations Exceeded. Output may not be optimal.\n"); + output.Message="Maximum Number of Iterations Exceeded. Output may not be optimal"; case 2 then printf("\nMaximum CPU Time exceeded. Output may not be optimal.\n"); + output.Message="Maximum CPU Time exceeded. Output may not be optimal"; case 3 then printf("\nStop at Tiny Step\n"); + output.Message="Stop at Tiny Step"; case 4 then printf("\nSolved To Acceptable Level\n"); + output.Message="Solved To Acceptable Level"; case 5 then printf("\nConverged to a point of local infeasibility.\n"); + output.Message="Converged to a point of local infeasibility"; case 6 then printf("\nStopping optimization at current point as requested by user.\n"); + output.Message="Stopping optimization at current point as requested by user"; case 7 then printf("\nFeasible point for square problem found.\n"); + output.Message="Feasible point for square problem found"; case 8 then printf("\nIterates diverging; problem might be unbounded.\n"); + output.Message="Iterates diverging; problem might be unbounded"; case 9 then printf("\nRestoration Failed!\n"); + output.Message="Restoration Failed!"; case 10 then printf("\nError in step computation (regularization becomes too large?)!\n"); - case 12 then + output.Message="Error in step computation (regularization becomes too large?)!"; + case 11 then printf("\nProblem has too few degrees of freedom.\n"); - case 13 then + output.Message="Problem has too few degrees of freedom"; + case 12 then printf("\nInvalid option thrown back by Ipopt\n"); - case 14 then + output.Message="Invalid option thrown back by Ipopt"; + case 13 then printf("\nNot enough memory.\n"); + output.Message="Not enough memory"; case 15 then printf("\nINTERNAL ERROR: Unknown SolverReturn value - Notify Ipopt Authors.\n"); + output.Message="INTERNAL ERROR: Unknown SolverReturn value - Notify Ipopt Authors"; else printf("\nInvalid status returned. Notify the Toolbox authors\n"); + output.Message="Invalid status returned. Notify the Toolbox authors"; break; - end + end endfunction diff --git a/macros/lib b/macros/lib Binary files differnew file mode 100644 index 0000000..612b878 --- /dev/null +++ b/macros/lib diff --git a/macros/linprog.bin b/macros/linprog.bin Binary files differnew file mode 100644 index 0000000..1d3a5aa --- /dev/null +++ b/macros/linprog.bin diff --git a/macros/lsqcurvefit.bin b/macros/lsqcurvefit.bin Binary files differnew file mode 100644 index 0000000..20a8d0d --- /dev/null +++ b/macros/lsqcurvefit.bin diff --git a/macros/lsqcurvefit.sci b/macros/lsqcurvefit.sci new file mode 100644 index 0000000..10e8e48 --- /dev/null +++ b/macros/lsqcurvefit.sci @@ -0,0 +1,439 @@ +// Copyright (C) 2015 - IIT Bombay - FOSSEE +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt +// Author: Harpreet Singh +// Organization: FOSSEE, IIT Bombay +// Email: toolbox@scilab.in + +function [xopt,resnorm,residual,exitflag,output,lambda] = lsqcurvefit (varargin) + // Solves a non linear data fitting problems. + // + // Calling Sequence + // xopt = lsqcurvefit(fun,x0,xdata,ydata) + // xopt = lsqcurvefit(fun,x0,xdata,ydata,lb,ub) + // xopt = lsqcurvefit(fun,x0,xdata,ydata,lb,ub,options) + // [xopt,resnorm] = lsqcurvefit( ... ) + // + // Parameters + // C : 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. + // d : 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. + // A : a matrix of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b. + // b : a vector of double, represents the linear coefficients in the inequality constraints A⋅x ≤ b. + // Aeq : a matrix of double, represents the linear coefficients in the equality constraints Aeq⋅x = beq. + // beq : a vector of double, represents the linear coefficients in the equality constraints Aeq⋅x = beq. + // lb : a vector of double, contains lower bounds of the variables. + // ub : a vector of double, contains upper bounds of the variables. + // x0 : a vector of double, contains initial guess of variables. + // param : a list containing the parameters to be set. + // xopt : a vector of double, the computed solution of the optimization problem. + // resnorm : a double, objective value returned as the scalar value norm(C⋅x-d)^2. + // residual : a vector of double, solution residuals returned as the vector d-C⋅x. + // exitflag : The exit status. See below for details. + // output : The structure consist of statistics about the optimization. See below for details. + // lambda : The structure consist of the Lagrange multipliers at the solution of problem. See below for details. + // + // Description + // Search the minimum of a constrained linear least square problem specified by : + // + // <latex> + // \begin{eqnarray} + // &\mbox{min}_{x} + // & 1/2||C⋅x - d||_2^2 \\ + // & \text{subject to} & A⋅x \leq b \\ + // & & Aeq⋅x = beq \\ + // & & lb \leq x \leq ub \\ + // \end{eqnarray} + // </latex> + // + // The routine calls Ipopt for solving the linear least square problem, Ipopt is a library written in C++. + // + // The options allows the user to set various parameters of the Optimization problem. + // It should be defined as type "list" and contains the following fields. + // <itemizedlist> + // <listitem>Syntax : options= list("MaxIter", [---], "CpuTime", [---]);</listitem> + // <listitem>MaxIter : a Scalar, containing the Maximum Number of Iteration that the solver should take.</listitem> + // <listitem>CpuTime : a Scalar, containing the Maximum amount of CPU Time that the solver should take.</listitem> + // <listitem>Default Values : options = list("MaxIter", [3000], "CpuTime", [600]);</listitem> + // </itemizedlist> + // + // The exitflag allows to know the status of the optimization which is given back by Ipopt. + // <itemizedlist> + // <listitem>exitflag=0 : Optimal Solution Found </listitem> + // <listitem>exitflag=1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</listitem> + // <listitem>exitflag=2 : Maximum CPU Time exceeded. Output may not be optimal.</listitem> + // <listitem>exitflag=3 : Stop at Tiny Step.</listitem> + // <listitem>exitflag=4 : Solved To Acceptable Level.</listitem> + // <listitem>exitflag=5 : Converged to a point of local infeasibility.</listitem> + // </itemizedlist> + // + // For more details on exitflag see the ipopt documentation, go to http://www.coin-or.org/Ipopt/documentation/ + // + // The output data structure contains detailed informations about the optimization process. + // It has type "struct" and contains the following fields. + // <itemizedlist> + // <listitem>output.iterations: The number of iterations performed during the search</listitem> + // <listitem>output.constrviolation: The max-norm of the constraint violation.</listitem> + // </itemizedlist> + // + // 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 "struct" and contains the following fields. + // <itemizedlist> + // <listitem>lambda.lower: The Lagrange multipliers for the lower bound constraints.</listitem> + // <listitem>lambda.upper: The Lagrange multipliers for the upper bound constraints.</listitem> + // <listitem>lambda.eqlin: The Lagrange multipliers for the linear equality constraints.</listitem> + // <listitem>lambda.ineqlin: The Lagrange multipliers for the linear inequality constraints.</listitem> + // </itemizedlist> + // + // Examples + // //A simple linear least square example + // C = [ 2 0; + // -1 1; + // 0 2] + // d = [1 + // 0 + // -1]; + // A = [10 -2; + // -2 10]; + // b = [4 + // -4]; + // [xopt,resnorm,residual,exitflag,output,lambda] = lsqlin(C,d,A,b) + // // Press ENTER to continue + // + // Examples + // //A basic example for equality, inequality constraints and variable bounds + // C = [1 1 1; + // 1 1 0; + // 0 1 1; + // 1 0 0; + // 0 0 1] + // d = [89; + // 67; + // 53; + // 35; + // 20;] + // A = [3 2 1; + // 2 3 4; + // 1 2 3]; + // b = [191 + // 209 + // 162]; + // Aeq = [1 2 1]; + // beq = 10; + // lb = repmat(0.1,3,1); + // ub = repmat(4,3,1); + // [xopt,resnorm,residual,exitflag,output,lambda] = lsqlin(C,d,A,b,Aeq,beq,lb,ub) + // Authors + // Harpreet Singh + + + //To check the number of input and output argument + [lhs , rhs] = argn(); + + //To check the number of argument given by user + if ( rhs < 4 | rhs == 5 | rhs == 7 | rhs > 10 ) then + errmsg = msprintf(gettext("%s: Unexpected number of input arguments : %d provided while should be in the set of [4 6 8 9 10]"), "lsqlin", rhs); + error(errmsg) + end + +// Initializing all the values to empty matrix + C=[]; + d=[]; + A=[]; + b=[]; + Aeq=[]; + beq=[]; + lb=[]; + ub=[]; + x0=[]; + + C = varargin(1); + d = varargin(2); + A = varargin(3); + b = varargin(4); + nbVar = size(C,2); + + if(nbVar == 0) then + errmsg = msprintf(gettext("%s: Cannot determine the number of variables because input objective coefficients is empty"), "lsqlin"); + error(errmsg); + end + + if ( rhs<5 ) then + Aeq = [] + beq = [] + else + Aeq = varargin(5); + beq = varargin(6); + end + + if ( rhs<7 ) then + lb = repmat(-%inf,nbVar,1); + ub = repmat(%inf,nbVar,1); + else + lb = varargin(7); + ub = varargin(8); + end + + + if ( rhs<9 | size(varargin(9)) ==0 ) then + x0 = repmat(0,nbVar,1) + else + x0 = varargin(9); + end + + if ( rhs<10 | size(varargin(10)) ==0 ) then + param = list(); + else + param =varargin(10); + end + + if (size(lb,2)==0) then + lb = repmat(-%inf,nbVar,1); + end + + if (size(ub,2)==0) then + ub = repmat(%inf,nbVar,1); + end + + if (type(param) ~= 15) then + errmsg = msprintf(gettext("%s: param should be a list "), "lsqlin"); + error(errmsg); + end + + //Check type of variables + Checktype("lsqlin", C, "C", 1, "constant") + Checktype("lsqlin", d, "d", 2, "constant") + Checktype("lsqlin", A, "A", 3, "constant") + Checktype("lsqlin", b, "b", 4, "constant") + Checktype("lsqlin", Aeq, "Aeq", 5, "constant") + Checktype("lsqlin", beq, "beq", 6, "constant") + Checktype("lsqlin", lb, "lb", 7, "constant") + Checktype("lsqlin", ub, "ub", 8, "constant") + Checktype("lsqlin", x0, "x0", 9, "constant") + + if (modulo(size(param),2)) then + errmsg = msprintf(gettext("%s: Size of parameters should be even"), "lsqlin"); + error(errmsg); + end + + options = list( "MaxIter" , [3000], ... + "CpuTime" , [600] ... + ); + + for i = 1:(size(param))/2 + + select convstr(param(2*i-1),'l') + case "maxiter" then + options(2*i) = param(2*i); + case "cputime" then + options(2*i) = param(2*i); + else + errmsg = msprintf(gettext("%s: Unrecognized parameter name ''%s''."), "lsqlin", param(2*i-1)); + error(errmsg) + end + end + + nbConInEq = size(A,1); + nbConEq = size(Aeq,1); + + // Check if the user gives row vector + // and Changing it to a column matrix + + if (size(d,2)== [nbVar]) then + d=d'; + end + + if (size(lb,2)== [nbVar]) then + lb = lb'; + end + + if (size(ub,2)== [nbVar]) then + ub = ub'; + end + + if (size(b,2)==nbConInEq) then + b = b'; + end + + if (size(beq,2)== nbConEq) then + beq = beq'; + end + + if (size(x0,2)== [nbVar]) then + x0=x0'; + end + + //Check the size of d which should equal to the number of variable + if ( size(d,1) ~= size(C,1)) then + errmsg = msprintf(gettext("%s: The number of rows in C must be equal the number of elements of d"), "lsqlin"); + error(errmsg); + end + + //Check the size of inequality constraint which should be equal to the number of variables + if ( size(A,2) ~= nbVar & size(A,2) ~= 0) then + errmsg = msprintf(gettext("%s: The number of columns in A must be the same as the number of columns in C"), "lsqlin"); + error(errmsg); + end + + //Check the size of equality constraint which should be equal to the number of variables + if ( size(Aeq,2) ~= nbVar & size(Aeq,2) ~= 0 ) then + errmsg = msprintf(gettext("%s: The number of columns in Aeq must be the same as the number of columns in C"), "lsqlin"); + error(errmsg); + end + + //Check the size of Lower Bound which should be equal to the number of variables + if ( size(lb,1) ~= nbVar) then + errmsg = msprintf(gettext("%s: The Lower Bound is not equal to the number of variables"), "lsqlin"); + error(errmsg); + end + + //Check the size of Upper Bound which should equal to the number of variables + if ( size(ub,1) ~= nbVar) then + errmsg = msprintf(gettext("%s: The Upper Bound is not equal to the number of variables"), "lsqlin"); + error(errmsg); + end + + //Check the size of constraints of Lower Bound which should equal to the number of constraints + if ( size(b,1) ~= nbConInEq & size(b,1) ~= 0) then + errmsg = msprintf(gettext("%s: The number of rows in A must be the same as the number of elements of b"), "lsqlin"); + error(errmsg); + end + + //Check the size of constraints of Upper Bound which should equal to the number of constraints + if ( size(beq,1) ~= nbConEq & size(beq,1) ~= 0) then + errmsg = msprintf(gettext("%s: The number of rows in Aeq must be the same as the number of elements of beq"), "lsqlin"); + error(errmsg); + end + + //Check the size of initial of variables which should equal to the number of variables + if ( size(x0,1) ~= nbVar) then + warnmsg = msprintf(gettext("%s: Ignoring initial guess of variables as it is not equal to the number of variables"), "lsqlin"); + warning(warnmsg); + x0 = repmat(0,nbVar,1); + end + + //Check if the user gives a matrix instead of a vector + + if ((size(d,1)~=1)& (size(d,2)~=1)) then + errmsg = msprintf(gettext("%s: d should be a vector"), "lsqlin"); + error(errmsg); + end + + if (size(lb,1)~=1)& (size(lb,2)~=1) then + errmsg = msprintf(gettext("%s: Lower Bound should be a vector"), "lsqlin"); + error(errmsg); + end + + if (size(ub,1)~=1)& (size(ub,2)~=1) then + errmsg = msprintf(gettext("%s: Upper Bound should be a vector"), "lsqlin"); + error(errmsg); + end + + if (nbConInEq) then + if ((size(b,1)~=1)& (size(b,2)~=1)) then + errmsg = msprintf(gettext("%s: Constraint Lower Bound should be a vector"), "lsqlin"); + error(errmsg); + end + end + + if (nbConEq) then + if (size(beq,1)~=1)& (size(beq,2)~=1) then + errmsg = msprintf(gettext("%s: Constraint should be a vector"), "lsqlin"); + error(errmsg); + end + end + + for i = 1:nbConInEq + if (b(i) == -%inf) + errmsg = msprintf(gettext("%s: Value of b can not be negative infinity"), "lsqlin"); + error(errmsg); + end + end + + for i = 1:nbConEq + if (beq(i) == -%inf) + errmsg = msprintf(gettext("%s: Value of beq can not be negative infinity"), "lsqlin"); + error(errmsg); + end + end + + for i = 1:nbVar + if(lb(i)>ub(i)) + errmsg = msprintf(gettext("%s: Problem has inconsistent variable bounds"), "lsqlin"); + error(errmsg); + end + end + + //Converting it into Quadratic Programming Problem + + H = C'*C; + f = [-C'*d]'; + op_add = d'*d; + lb = lb'; + ub = ub'; + x0 = x0'; + conMatrix = [Aeq;A]; + nbCon = size(conMatrix,1); + conLB = [beq; repmat(-%inf,nbConInEq,1)]'; + conUB = [beq;b]' ; + [xopt,fopt,status,iter,Zl,Zu,lmbda] = solveqp(nbVar,nbCon,H,f,conMatrix,conLB,conUB,lb,ub,x0,options); + + xopt = xopt'; + residual = d-C*xopt; + resnorm = residual'*residual; + exitflag = status; + output = struct("Iterations" , [], .. + "ConstrViolation" ,[]); + output.Iterations = iter; + output.ConstrViolation = max([0;norm(Aeq*xopt-beq, 'inf');(lb'-xopt);(xopt-ub');(A*xopt-b)]); + lambda = struct("lower" , [], .. + "upper" , [], .. + "eqlin" , [], .. + "ineqlin" , []); + + lambda.lower = Zl; + lambda.upper = Zu; + lambda.eqlin = lmbda(1:nbConEq); + lambda.ineqlin = lmbda(nbConEq+1:nbCon); + + select status + case 0 then + printf("\nOptimal Solution Found.\n"); + case 1 then + printf("\nMaximum Number of Iterations Exceeded. Output may not be optimal.\n"); + case 2 then + printf("\nMaximum CPU Time exceeded. Output may not be optimal.\n"); + case 3 then + printf("\nStop at Tiny Step\n"); + case 4 then + printf("\nSolved To Acceptable Level\n"); + case 5 then + printf("\nConverged to a point of local infeasibility.\n"); + case 6 then + printf("\nStopping optimization at current point as requested by user.\n"); + case 7 then + printf("\nFeasible point for square problem found.\n"); + case 8 then + printf("\nIterates diverging; problem might be unbounded.\n"); + case 9 then + printf("\nRestoration Failed!\n"); + case 10 then + printf("\nError in step computation (regularization becomes too large?)!\n"); + case 12 then + printf("\nProblem has too few degrees of freedom.\n"); + case 13 then + printf("\nInvalid option thrown back by Ipopt\n"); + case 14 then + printf("\nNot enough memory.\n"); + case 15 then + printf("\nINTERNAL ERROR: Unknown SolverReturn value - Notify Ipopt Authors.\n"); + else + printf("\nInvalid status returned. Notify the Toolbox authors\n"); + break; + end + +endfunction diff --git a/macros/lsqlin.bin b/macros/lsqlin.bin Binary files differnew file mode 100644 index 0000000..7baf7be --- /dev/null +++ b/macros/lsqlin.bin diff --git a/macros/lsqnonneg.bin b/macros/lsqnonneg.bin Binary files differnew file mode 100644 index 0000000..32620d0 --- /dev/null +++ b/macros/lsqnonneg.bin diff --git a/macros/matrix_linprog.bin b/macros/matrix_linprog.bin Binary files differnew file mode 100644 index 0000000..e3a9db3 --- /dev/null +++ b/macros/matrix_linprog.bin diff --git a/macros/mps_linprog.bin b/macros/mps_linprog.bin Binary files differnew file mode 100644 index 0000000..c0d2e3e --- /dev/null +++ b/macros/mps_linprog.bin diff --git a/macros/names b/macros/names new file mode 100644 index 0000000..36793aa --- /dev/null +++ b/macros/names @@ -0,0 +1,22 @@ +Checkdims +Checklhs +Checkrhs +Checktype +Checkvector +fgoalattain +fminbnd +fmincon +fminimax +fminunc +linprog +lsqcurvefit +lsqlin +lsqnonneg +matrix_linprog +mps_linprog +qpipopt +qpipoptmat +setOptions +symphony +symphony_call +symphonymat diff --git a/macros/qpipopt.bin b/macros/qpipopt.bin Binary files differnew file mode 100644 index 0000000..e2ba3de --- /dev/null +++ b/macros/qpipopt.bin diff --git a/macros/qpipoptmat.bin b/macros/qpipoptmat.bin Binary files differnew file mode 100644 index 0000000..b9c741f --- /dev/null +++ b/macros/qpipoptmat.bin diff --git a/macros/setOptions.bin b/macros/setOptions.bin Binary files differnew file mode 100644 index 0000000..8d23e73 --- /dev/null +++ b/macros/setOptions.bin diff --git a/macros/symphony.bin b/macros/symphony.bin Binary files differnew file mode 100644 index 0000000..2c3a43a --- /dev/null +++ b/macros/symphony.bin diff --git a/macros/symphony_call.bin b/macros/symphony_call.bin Binary files differnew file mode 100644 index 0000000..5e0d5e1 --- /dev/null +++ b/macros/symphony_call.bin diff --git a/macros/symphonymat.bin b/macros/symphonymat.bin Binary files differnew file mode 100644 index 0000000..7dffa2f --- /dev/null +++ b/macros/symphonymat.bin diff --git a/sci_gateway/cpp/cleaner.sce b/sci_gateway/cpp/cleaner.sce new file mode 100644 index 0000000..333775c --- /dev/null +++ b/sci_gateway/cpp/cleaner.sce @@ -0,0 +1,22 @@ +// This file is released under the 3-clause BSD license. See COPYING-BSD. +// Generated by builder.sce : Please, do not edit this file +// cleaner.sce +// ------------------------------------------------------ +curdir = pwd(); +cleaner_path = get_file_path('cleaner.sce'); +chdir(cleaner_path); +// ------------------------------------------------------ +if fileinfo('loader.sce') <> [] then + mdelete('loader.sce'); +end +// ------------------------------------------------------ +if fileinfo('libFOSSEE_Optimization_Toolbox.so') <> [] then + mdelete('libFOSSEE_Optimization_Toolbox.so'); +end +// ------------------------------------------------------ +if fileinfo('libFOSSEE_Optimization_Toolbox.c') <> [] then + mdelete('libFOSSEE_Optimization_Toolbox.c'); +end +// ------------------------------------------------------ +chdir(curdir); +// ------------------------------------------------------ diff --git a/sci_gateway/cpp/libFOSSEE_Optimization_Toolbox.c b/sci_gateway/cpp/libFOSSEE_Optimization_Toolbox.c new file mode 100644 index 0000000..cd53066 --- /dev/null +++ b/sci_gateway/cpp/libFOSSEE_Optimization_Toolbox.c @@ -0,0 +1,156 @@ +#ifdef __cplusplus +extern "C" { +#endif +#include <mex.h> +#include <sci_gateway.h> +#include <api_scilab.h> +#include <MALLOC.h> +static int direct_gateway(char *fname,void F(void)) { F();return 0;}; +extern Gatefunc sci_sym_open; +extern Gatefunc sci_sym_close; +extern Gatefunc sci_sym_isEnvActive; +extern Gatefunc sci_sym_set_defaults; +extern Gatefunc sci_sym_set_int_param; +extern Gatefunc sci_sym_get_int_param; +extern Gatefunc sci_sym_set_dbl_param; +extern Gatefunc sci_sym_get_dbl_param; +extern Gatefunc sci_sym_set_str_param; +extern Gatefunc sci_sym_get_str_param; +extern Gatefunc sci_sym_getInfinity; +extern Gatefunc sci_sym_loadProblemBasic; +extern Gatefunc sci_sym_loadProblem; +extern Gatefunc sci_sym_load_mps; +extern Gatefunc sci_sym_get_num_int; +extern Gatefunc sci_sym_get_num_int; +extern Gatefunc sci_sym_get_num_int; +extern Gatefunc sci_sym_isContinuous; +extern Gatefunc sci_sym_isBinary; +extern Gatefunc sci_sym_isInteger; +extern Gatefunc sci_sym_set_continuous; +extern Gatefunc sci_sym_set_integer; +extern Gatefunc sci_sym_get_dbl_arr; +extern Gatefunc sci_sym_get_dbl_arr; +extern Gatefunc sci_sym_setVarBound; +extern Gatefunc sci_sym_setVarBound; +extern Gatefunc sci_sym_get_dbl_arr; +extern Gatefunc sci_sym_setObjCoeff; +extern Gatefunc sci_sym_getObjSense; +extern Gatefunc sci_sym_setObjSense; +extern Gatefunc sci_sym_get_dbl_arr; +extern Gatefunc sci_sym_get_dbl_arr; +extern Gatefunc sci_sym_get_dbl_arr; +extern Gatefunc sci_sym_get_dbl_arr; +extern Gatefunc sci_sym_setConstrBound; +extern Gatefunc sci_sym_setConstrBound; +extern Gatefunc sci_sym_setConstrType; +extern Gatefunc sci_sym_get_matrix; +extern Gatefunc sci_sym_get_row_sense; +extern Gatefunc sci_sym_addConstr; +extern Gatefunc sci_sym_addVar; +extern Gatefunc sci_sym_delete_cols; +extern Gatefunc sci_sym_delete_rows; +extern Gatefunc sci_sym_getPrimalBound; +extern Gatefunc sci_sym_setPrimalBound; +extern Gatefunc sci_sym_setColSoln; +extern Gatefunc sci_sym_solve; +extern Gatefunc sci_sym_get_status; +extern Gatefunc sci_sym_get_solver_status; +extern Gatefunc sci_sym_get_solver_status; +extern Gatefunc sci_sym_get_solver_status; +extern Gatefunc sci_sym_get_solver_status; +extern Gatefunc sci_sym_get_solver_status; +extern Gatefunc sci_sym_get_solver_status; +extern Gatefunc sci_sym_getVarSoln; +extern Gatefunc sci_sym_getObjVal; +extern Gatefunc sci_sym_get_iteration_count; +extern Gatefunc sci_sym_getRowActivity; +extern Gatefunc sci_linearprog; +extern Gatefunc sci_rmps; +extern Gatefunc sci_solveqp; +extern Gatefunc sci_solveminuncp; +extern Gatefunc sci_solveminbndp; +extern Gatefunc sci_solveminconp; +static GenericTable Tab[]={ + {(Myinterfun)sci_gateway,sci_sym_open,"sym_open"}, + {(Myinterfun)sci_gateway,sci_sym_close,"sym_close"}, + {(Myinterfun)sci_gateway,sci_sym_isEnvActive,"sym_isEnvActive"}, + {(Myinterfun)sci_gateway,sci_sym_set_defaults,"sym_resetParams"}, + {(Myinterfun)sci_gateway,sci_sym_set_int_param,"sym_setIntParam"}, + {(Myinterfun)sci_gateway,sci_sym_get_int_param,"sym_getIntParam"}, + {(Myinterfun)sci_gateway,sci_sym_set_dbl_param,"sym_setDblParam"}, + {(Myinterfun)sci_gateway,sci_sym_get_dbl_param,"sym_getDblParam"}, + {(Myinterfun)sci_gateway,sci_sym_set_str_param,"sym_setStrParam"}, + {(Myinterfun)sci_gateway,sci_sym_get_str_param,"sym_getStrParam"}, + {(Myinterfun)sci_gateway,sci_sym_getInfinity,"sym_getInfinity"}, + {(Myinterfun)sci_gateway,sci_sym_loadProblemBasic,"sym_loadProblemBasic"}, + {(Myinterfun)sci_gateway,sci_sym_loadProblem,"sym_loadProblem"}, + {(Myinterfun)sci_gateway,sci_sym_load_mps,"sym_loadMPS"}, + {(Myinterfun)sci_gateway,sci_sym_get_num_int,"sym_getNumConstr"}, + {(Myinterfun)sci_gateway,sci_sym_get_num_int,"sym_getNumVar"}, + {(Myinterfun)sci_gateway,sci_sym_get_num_int,"sym_getNumElements"}, + {(Myinterfun)sci_gateway,sci_sym_isContinuous,"sym_isContinuous"}, + {(Myinterfun)sci_gateway,sci_sym_isBinary,"sym_isBinary"}, + {(Myinterfun)sci_gateway,sci_sym_isInteger,"sym_isInteger"}, + {(Myinterfun)sci_gateway,sci_sym_set_continuous,"sym_setContinuous"}, + {(Myinterfun)sci_gateway,sci_sym_set_integer,"sym_setInteger"}, + {(Myinterfun)sci_gateway,sci_sym_get_dbl_arr,"sym_getVarLower"}, + {(Myinterfun)sci_gateway,sci_sym_get_dbl_arr,"sym_getVarUpper"}, + {(Myinterfun)sci_gateway,sci_sym_setVarBound,"sym_setVarLower"}, + {(Myinterfun)sci_gateway,sci_sym_setVarBound,"sym_setVarUpper"}, + {(Myinterfun)sci_gateway,sci_sym_get_dbl_arr,"sym_getObjCoeff"}, + {(Myinterfun)sci_gateway,sci_sym_setObjCoeff,"sym_setObjCoeff"}, + {(Myinterfun)sci_gateway,sci_sym_getObjSense,"sym_getObjSense"}, + {(Myinterfun)sci_gateway,sci_sym_setObjSense,"sym_setObjSense"}, + {(Myinterfun)sci_gateway,sci_sym_get_dbl_arr,"sym_getRhs"}, + {(Myinterfun)sci_gateway,sci_sym_get_dbl_arr,"sym_getConstrRange"}, + {(Myinterfun)sci_gateway,sci_sym_get_dbl_arr,"sym_getConstrLower"}, + {(Myinterfun)sci_gateway,sci_sym_get_dbl_arr,"sym_getConstrUpper"}, + {(Myinterfun)sci_gateway,sci_sym_setConstrBound,"sym_setConstrLower"}, + {(Myinterfun)sci_gateway,sci_sym_setConstrBound,"sym_setConstrUpper"}, + {(Myinterfun)sci_gateway,sci_sym_setConstrType,"sym_setConstrType"}, + {(Myinterfun)sci_gateway,sci_sym_get_matrix,"sym_getMatrix"}, + {(Myinterfun)sci_gateway,sci_sym_get_row_sense,"sym_getConstrSense"}, + {(Myinterfun)sci_gateway,sci_sym_addConstr,"sym_addConstr"}, + {(Myinterfun)sci_gateway,sci_sym_addVar,"sym_addVar"}, + {(Myinterfun)sci_gateway,sci_sym_delete_cols,"sym_deleteVars"}, + {(Myinterfun)sci_gateway,sci_sym_delete_rows,"sym_deleteConstrs"}, + {(Myinterfun)sci_gateway,sci_sym_getPrimalBound,"sym_getPrimalBound"}, + {(Myinterfun)sci_gateway,sci_sym_setPrimalBound,"sym_setPrimalBound"}, + {(Myinterfun)sci_gateway,sci_sym_setColSoln,"sym_setVarSoln"}, + {(Myinterfun)sci_gateway,sci_sym_solve,"sym_solve"}, + {(Myinterfun)sci_gateway,sci_sym_get_status,"sym_getStatus"}, + {(Myinterfun)sci_gateway,sci_sym_get_solver_status,"sym_isOptimal"}, + {(Myinterfun)sci_gateway,sci_sym_get_solver_status,"sym_isInfeasible"}, + {(Myinterfun)sci_gateway,sci_sym_get_solver_status,"sym_isAbandoned"}, + {(Myinterfun)sci_gateway,sci_sym_get_solver_status,"sym_isIterLimitReached"}, + {(Myinterfun)sci_gateway,sci_sym_get_solver_status,"sym_isTimeLimitReached"}, + {(Myinterfun)sci_gateway,sci_sym_get_solver_status,"sym_isTargetGapAchieved"}, + {(Myinterfun)sci_gateway,sci_sym_getVarSoln,"sym_getVarSoln"}, + {(Myinterfun)sci_gateway,sci_sym_getObjVal,"sym_getObjVal"}, + {(Myinterfun)sci_gateway,sci_sym_get_iteration_count,"sym_getIterCount"}, + {(Myinterfun)sci_gateway,sci_sym_getRowActivity,"sym_getConstrActivity"}, + {(Myinterfun)sci_gateway,sci_linearprog,"linearprog"}, + {(Myinterfun)sci_gateway,sci_rmps,"rmps"}, + {(Myinterfun)sci_gateway,sci_solveqp,"solveqp"}, + {(Myinterfun)sci_gateway,sci_solveminuncp,"solveminuncp"}, + {(Myinterfun)sci_gateway,sci_solveminbndp,"solveminbndp"}, + {(Myinterfun)sci_gateway,sci_solveminconp,"solveminconp"}, +}; + +int C2F(libFOSSEE_Optimization_Toolbox)() +{ + Rhs = Max(0, Rhs); + if (*(Tab[Fin-1].f) != NULL) + { + if(pvApiCtx == NULL) + { + pvApiCtx = (StrCtx*)MALLOC(sizeof(StrCtx)); + } + pvApiCtx->pstName = (char*)Tab[Fin-1].name; + (*(Tab[Fin-1].f))(Tab[Fin-1].name,Tab[Fin-1].F); + } + return 0; +} +#ifdef __cplusplus +} +#endif diff --git a/sci_gateway/cpp/libFOSSEE_Optimization_Toolbox.so b/sci_gateway/cpp/libFOSSEE_Optimization_Toolbox.so Binary files differnew file mode 100755 index 0000000..9a4caf4 --- /dev/null +++ b/sci_gateway/cpp/libFOSSEE_Optimization_Toolbox.so diff --git a/sci_gateway/cpp/loader.sce b/sci_gateway/cpp/loader.sce new file mode 100644 index 0000000..1ec953f --- /dev/null +++ b/sci_gateway/cpp/loader.sce @@ -0,0 +1,84 @@ +// This file is released under the 3-clause BSD license. See COPYING-BSD. +// Generated by builder.sce : Please, do not edit this file +// ---------------------------------------------------------------------------- +// +libFOSSEE_Optimizat_path = get_absolute_file_path('loader.sce'); +// +// ulink previous function with same name +[bOK, ilib] = c_link('libFOSSEE_Optimization_Toolbox'); +if bOK then + ulink(ilib); +end +// +list_functions = [ 'sym_open'; + 'sym_close'; + 'sym_isEnvActive'; + 'sym_resetParams'; + 'sym_setIntParam'; + 'sym_getIntParam'; + 'sym_setDblParam'; + 'sym_getDblParam'; + 'sym_setStrParam'; + 'sym_getStrParam'; + 'sym_getInfinity'; + 'sym_loadProblemBasic'; + 'sym_loadProblem'; + 'sym_loadMPS'; + 'sym_getNumConstr'; + 'sym_getNumVar'; + 'sym_getNumElements'; + 'sym_isContinuous'; + 'sym_isBinary'; + 'sym_isInteger'; + 'sym_setContinuous'; + 'sym_setInteger'; + 'sym_getVarLower'; + 'sym_getVarUpper'; + 'sym_setVarLower'; + 'sym_setVarUpper'; + 'sym_getObjCoeff'; + 'sym_setObjCoeff'; + 'sym_getObjSense'; + 'sym_setObjSense'; + 'sym_getRhs'; + 'sym_getConstrRange'; + 'sym_getConstrLower'; + 'sym_getConstrUpper'; + 'sym_setConstrLower'; + 'sym_setConstrUpper'; + 'sym_setConstrType'; + 'sym_getMatrix'; + 'sym_getConstrSense'; + 'sym_addConstr'; + 'sym_addVar'; + 'sym_deleteVars'; + 'sym_deleteConstrs'; + 'sym_getPrimalBound'; + 'sym_setPrimalBound'; + 'sym_setVarSoln'; + 'sym_solve'; + 'sym_getStatus'; + 'sym_isOptimal'; + 'sym_isInfeasible'; + 'sym_isAbandoned'; + 'sym_isIterLimitReached'; + 'sym_isTimeLimitReached'; + 'sym_isTargetGapAchieved'; + 'sym_getVarSoln'; + 'sym_getObjVal'; + 'sym_getIterCount'; + 'sym_getConstrActivity'; + 'linearprog'; + 'rmps'; + 'solveqp'; + 'solveminuncp'; + 'solveminbndp'; + 'solveminconp'; +]; +addinter(libFOSSEE_Optimizat_path + filesep() + 'libFOSSEE_Optimization_Toolbox' + getdynlibext(), 'libFOSSEE_Optimization_Toolbox', list_functions); +// remove temp. variables on stack +clear libFOSSEE_Optimizat_path; +clear bOK; +clear ilib; +clear list_functions; +// ---------------------------------------------------------------------------- diff --git a/sci_gateway/cpp/minconNLP.hpp b/sci_gateway/cpp/minconNLP.hpp index df496ce..0dcaf26 100644 --- a/sci_gateway/cpp/minconNLP.hpp +++ b/sci_gateway/cpp/minconNLP.hpp @@ -24,12 +24,6 @@ class minconNLP : public TNLP Index numConstr_; //Number of constraints - Number flag1_; //Gradient of objective ON or OFF - - Number flag2_; //Hessian of objective ON or OFF - - Number flag3_; //Jacobian of constraints ON or OFF - Number nonlinCon_; //Number of non-linear constraints Number nonlinIneqCon_; //Number of non-linear inequality constraints @@ -101,7 +95,7 @@ class minconNLP : public TNLP public: /** user defined constructor */ - minconNLP(Index nV, Index nC, Number *x0 ,Number *A, Number *b, Number* Aeq, Number *beq, Index Arows, Index Acols, Index brows, Index bcols, Index Aeqrows, Index Aeqcols, Index beqrows, Index beqcols, Number* LB, Number* UB, Number nlC, Number nlIC, Number f1, Number f2, Number f3) : numVars_(nV), numConstr_(nC), varGuess_(x0), A_(A), b_(b), Aeq_(Aeq), beq_(beq), Arows_(Arows), Acols_(Acols), brows_(brows), bcols_(bcols), Aeqrows_(Aeqrows), Aeqcols_(Aeqcols), beqrows_(beqrows), beqcols_(beqcols), varLB_(LB), varUB_(UB), nonlinCon_(nlC), nonlinIneqCon_(nlIC), flag1_(f1), flag2_(f2), flag3_(f3), finalX_(0), finalZl_(0), finalZu_(0), finalGradient_(0), finalHessian_(0), finalObjVal_(1e20){ } + minconNLP(Index nV, Index nC, Number *x0 ,Number *A, Number *b, Number* Aeq, Number *beq, Index Arows, Index Acols, Index brows, Index bcols, Index Aeqrows, Index Aeqcols, Index beqrows, Index beqcols, Number* LB, Number* UB, Number nlC, Number nlIC) : numVars_(nV), numConstr_(nC), varGuess_(x0), A_(A), b_(b), Aeq_(Aeq), beq_(beq), Arows_(Arows), Acols_(Acols), brows_(brows), bcols_(bcols), Aeqrows_(Aeqrows), Aeqcols_(Aeqcols), beqrows_(beqrows), beqcols_(beqcols), varLB_(LB), varUB_(UB), nonlinCon_(nlC), nonlinIneqCon_(nlIC), finalX_(0), finalZl_(0), finalZu_(0), finalGradient_(0), finalHessian_(0), finalObjVal_(1e20){ } /** default destructor */ virtual ~minconNLP(); diff --git a/sci_gateway/cpp/sci_ipoptfmincon.cpp b/sci_gateway/cpp/sci_ipoptfmincon.cpp index 551af41..18218a5 100644 --- a/sci_gateway/cpp/sci_ipoptfmincon.cpp +++ b/sci_gateway/cpp/sci_ipoptfmincon.cpp @@ -30,17 +30,15 @@ int sci_solveminconp(char *fname) { using namespace Ipopt; - CheckInputArgument(pvApiCtx, 20, 20); + CheckInputArgument(pvApiCtx, 16, 16); CheckOutputArgument(pvApiCtx, 12, 12); // Error management variable SciErr sciErr; //Function pointers, input matrix(Starting point) pointer, flag variable - int* funptr=NULL; - int* gradhesptr=NULL; double *x0ptr=NULL, *lbptr=NULL, *ubptr=NULL,*Aptr=NULL, *bptr=NULL, *Aeqptr=NULL, *beqptr=NULL; - double flag1=0,flag2=0,flag3=0,nonlinCon=0,nonlinIneqCon=0; + double nonlinCon=0,nonlinIneqCon=0; // Input arguments @@ -49,7 +47,7 @@ int sci_solveminconp(char *fname) unsigned int temp1 = 0,temp2 = 0, iret = 0; int x0_rows=0, x0_cols=0, lb_rows=0, lb_cols=0, ub_rows=0, ub_cols=0, A_rows=0, A_cols=0, b_rows=0, b_cols=0, Aeq_rows=0, Aeq_cols=0, beq_rows=0, beq_cols=0; - // Output arguments + // Output arguments double *fX = NULL, ObjVal=0,iteration=0,cpuTime=0,fobj_eval=0; double dual_inf, constr_viol, complementarity, kkt_error; double *fGrad = NULL; @@ -61,98 +59,70 @@ int sci_solveminconp(char *fname) int int_fobj_eval, int_constr_eval, int_fobj_grad_eval, int_constr_jac_eval, int_hess_eval; ////////// Manage the input argument ////////// - - //Objective Function - if(getFunctionFromScilab(1,&funptr)) - { - return 1; - } - - //Function for gradient and hessian - if(getFunctionFromScilab(2,&gradhesptr)) - { - return 1; - } - - //x0(starting point) matrix from scilab - if(getDoubleMatrixFromScilab(18, &x0_rows, &x0_cols, &x0ptr)) - { - return 1; - } - - //Getting number of iterations - if(getFixedSizeDoubleMatrixInList(19,2,temp1,temp2,&max_iter)) - { - return 1; - } - - //Getting Cpu Time - if(getFixedSizeDoubleMatrixInList(19,4,temp1,temp2,&cpu_time)) - { - return 1; - } + //Getting matrix representing linear inequality constraints - if(getDoubleMatrixFromScilab(3, &A_rows, &A_cols, &Aptr)) + if(getDoubleMatrixFromScilab(2, &A_rows, &A_cols, &Aptr)) { return 1; } //Getting matrix representing bounds of linear inequality constraints - if(getDoubleMatrixFromScilab(4, &b_rows, &b_cols, &bptr)) + if(getDoubleMatrixFromScilab(3, &b_rows, &b_cols, &bptr)) { return 1; } //Getting matrix representing linear equality constraints - if(getDoubleMatrixFromScilab(5, &Aeq_rows, &Aeq_cols, &Aeqptr)) + if(getDoubleMatrixFromScilab(4, &Aeq_rows, &Aeq_cols, &Aeqptr)) { return 1; } //Getting matrix representing bounds of linear inequality constraints - if(getDoubleMatrixFromScilab(6, &beq_rows, &beq_cols, &beqptr)) + if(getDoubleMatrixFromScilab(5, &beq_rows, &beq_cols, &beqptr)) { return 1; } //Getting matrix representing linear inequality constraints - if(getDoubleMatrixFromScilab(7, &lb_rows, &lb_cols, &lbptr)) + if(getDoubleMatrixFromScilab(6, &lb_rows, &lb_cols, &lbptr)) { return 1; } //Getting matrix representing linear inequality constraints - if(getDoubleMatrixFromScilab(8, &ub_rows, &ub_cols, &ubptr)) + if(getDoubleMatrixFromScilab(7, &ub_rows, &ub_cols, &ubptr)) { return 1; } //Number of non-linear constraints - if(getDoubleFromScilab(9, &nonlinCon)) + if(getDoubleFromScilab(8, &nonlinCon)) { return 1; } //Number of non-linear inequality constraints - if(getDoubleFromScilab(10, &nonlinIneqCon)) + if(getDoubleFromScilab(9, &nonlinIneqCon)) { return 1; } - - //Getting the required flag variables - - if(getDoubleFromScilab(12, &flag1)) + + //x0(starting point) matrix from scilab + if(getDoubleMatrixFromScilab(14, &x0_rows, &x0_cols, &x0ptr)) { return 1; } - if(getDoubleFromScilab(14, &flag2)) + //Getting number of iterations + if(getFixedSizeDoubleMatrixInList(15,2,temp1,temp2,&max_iter)) { return 1; } - if(getDoubleFromScilab(16, &flag3)) + //Getting Cpu Time + if(getFixedSizeDoubleMatrixInList(15,4,temp1,temp2,&cpu_time)) { return 1; } @@ -164,7 +134,7 @@ int sci_solveminconp(char *fname) // Starting Ipopt - SmartPtr<minconNLP> Prob = new minconNLP(nVars, nCons, x0ptr, Aptr, bptr, Aeqptr, beqptr, A_rows, A_cols, b_rows, b_cols, Aeq_rows, Aeq_cols, beq_rows, beq_cols, lbptr, ubptr, nonlinCon, nonlinIneqCon, flag1, flag2, flag3); + SmartPtr<minconNLP> Prob = new minconNLP(nVars, nCons, x0ptr, Aptr, bptr, Aeqptr, beqptr, A_rows, A_cols, b_rows, b_cols, Aeq_rows, Aeq_cols, beq_rows, beq_cols, lbptr, ubptr, nonlinCon, nonlinIneqCon); SmartPtr<IpoptApplication> app = IpoptApplicationFactory(); app->RethrowNonIpoptException(true); diff --git a/sci_gateway/cpp/sci_minconNLP.cpp b/sci_gateway/cpp/sci_minconNLP.cpp index 2c6d6af..600aed6 100644 --- a/sci_gateway/cpp/sci_minconNLP.cpp +++ b/sci_gateway/cpp/sci_minconNLP.cpp @@ -1,4 +1,4 @@ -// Copyright (C) 2015 - IIT Bombay - FOSSEE +// Copyright (C) 1815 - IIT Bombay - FOSSEE // // Author: R.Vidyadhar & Vignesh Kannan // Organization: FOSSEE, IIT Bombay @@ -49,7 +49,7 @@ bool minconNLP::get_nlp_info(Index& n, Index& m, Index& nnz_jac_g, Index& nnz_h_ m=numConstr_; // Number of constraints nnz_jac_g = n*m; // No. of elements in Jacobian of constraints - nnz_h_lag = n*(n+1)/2; // No. of elements in lower traingle of Hessian of the Lagrangian. + nnz_h_lag = n*n; // No. of elements in lower traingle of Hessian of the Lagrangian. index_style=C_STYLE; // Index style of matrices return true; @@ -80,7 +80,7 @@ bool minconNLP::get_bounds_info(Index n, Number* x_l, Number* x_u, Index m, Numb //bounds of non-linear inequality constraints for(i=0;i<nonlinIneqCon_;i++) { - g_l[c]=-1.0e19; + g_l[c]=-1.0e17; g_u[c]=0; c++; } @@ -102,7 +102,7 @@ bool minconNLP::get_bounds_info(Index n, Number* x_l, Number* x_u, Index m, Numb //bounds of linear inequality constraints for(i=0;i<Arows_;i++) { - g_l[c]=-1.0e19; + g_l[c]=-1.0e17; g_u[c]=b_[i]; c++; @@ -113,11 +113,121 @@ bool minconNLP::get_bounds_info(Index n, Number* x_l, Number* x_u, Index m, Numb return true; } +// This method sets initial values for required vectors . For now we are assuming 0 to all values. +bool minconNLP::get_starting_point(Index n, bool init_x, Number* x,bool init_z, Number* z_L, Number* z_U,Index m, bool init_lambda,Number* lambda) +{ + assert(init_x == true); + assert(init_z == false); + assert(init_lambda == false); + if (init_x == true) + { //we need to set initial values for vector x + for (Index var=0;var<n;var++) + x[var]=varGuess_[var]; + } + + return true; +} + +//get value of objective function at vector x +bool minconNLP::eval_f(Index n, const Number* x, bool new_x, Number& obj_value) +{ + int* funptr=NULL; + if(getFunctionFromScilab(1,&funptr)) + { + return 1; + } + char name[18]="f"; + double obj=0; + double *xNew=x; + double check; + createMatrixOfDouble(pvApiCtx, 14, 1, numVars_, xNew); + int positionFirstElementOnStackForScilabFunction = 14; + int numberOfRhsOnScilabFunction = 1; + int numberOfLhsOnScilabFunction = 2; + int pointerOnScilabFunction = *funptr; + + C2F(scistring)(&positionFirstElementOnStackForScilabFunction,name, + &numberOfLhsOnScilabFunction, + &numberOfRhsOnScilabFunction,(unsigned long)strlen(name)); + + if(getDoubleFromScilab(15,&check)) + { + return true; + } + if (check==1) + { + + return true; + } + else + { + if(getDoubleFromScilab(14,&obj)) + { + sciprint("No obj value"); + return 1; + } + obj_value=obj; + + return true; + } +} + +//get value of gradient of objective function at vector x. +bool minconNLP::eval_grad_f(Index n, const Number* x, bool new_x, Number* grad_f) +{ + + + int* gradptr=NULL; + if(getFunctionFromScilab(11,&gradptr)) + { + return 1; + } + double *xNew=x; + createMatrixOfDouble(pvApiCtx, 14, 1, numVars_, xNew); + int positionFirstElementOnStackForScilabFunction = 14; + int numberOfRhsOnScilabFunction = 1; + int numberOfLhsOnScilabFunction = 2; + int pointerOnScilabFunction = *gradptr; + char name[18]="fGrad1"; + + C2F(scistring)(&positionFirstElementOnStackForScilabFunction,name, + &numberOfLhsOnScilabFunction, + &numberOfRhsOnScilabFunction,(unsigned long)strlen(name)); + + double* resg; + double check; + int x0_rows,x0_cols; + if(getDoubleFromScilab(15,&check)) + { + return true; + } + if (check==1) + { + return true; + } + else + { + if(getDoubleMatrixFromScilab(14, &x0_rows, &x0_cols, &resg)) + { + sciprint("No results"); + return 1; + } + + + Index i; + for(i=0;i<numVars_;i++) + { + grad_f[i]=resg[i]; + finalGradient_[i]=resg[i]; + } + } + return true; +} + // return the value of the constraints: g(x) bool minconNLP::eval_g(Index n, const Number* x, bool new_x, Index m, Number* g) { // return the value of the constraints: g(x) - unsigned int i; unsigned int j; @@ -132,26 +242,27 @@ bool minconNLP::eval_g(Index n, const Number* x, bool new_x, Index m, Number* g) if(nonlinCon_!=0) { int* constr=NULL; - if(getFunctionFromScilab(11,&constr)) + if(getFunctionFromScilab(10,&constr)) { return 1; } - char name[20]="addnlc1"; + double *xNew=x; double check; - createMatrixOfDouble(pvApiCtx, 18, 1, numVars_, xNew); - int positionFirstElementOnStackForScilabFunction = 18; + createMatrixOfDouble(pvApiCtx, 14, 1, numVars_, xNew); + int positionFirstElementOnStackForScilabFunction = 14; int numberOfRhsOnScilabFunction = 1; int numberOfLhsOnScilabFunction = 2; int pointerOnScilabFunction = *constr; - + char name[18]="addnlc1"; + C2F(scistring)(&positionFirstElementOnStackForScilabFunction,name, &numberOfLhsOnScilabFunction, &numberOfRhsOnScilabFunction,(unsigned long)strlen(name)); double* resc; int xC_rows,xC_cols; - if(getDoubleFromScilab(19,&check)) + if(getDoubleFromScilab(15,&check)) { return true; } @@ -161,7 +272,7 @@ bool minconNLP::eval_g(Index n, const Number* x, bool new_x, Index m, Number* g) } else { - if(getDoubleMatrixFromScilab(18, &xC_rows, &xC_cols, &resc)) + if(getDoubleMatrixFromScilab(14, &xC_rows, &xC_cols, &resc)) { sciprint("No results"); return 1; @@ -201,11 +312,11 @@ bool minconNLP::eval_g(Index n, const Number* x, bool new_x, Index m, Number* g) // return the structure or values of the jacobian bool minconNLP::eval_jac_g(Index n, const Number* x, bool new_x,Index m, Index nele_jac, Index* iRow, Index *jCol,Number* values) -{ +{ if (values == NULL) { - if(m==0)// return the structure of the jacobian of the constraints - { + if(m==0)// return the structure of the jacobian of the constraints + { iRow=NULL; jCol=NULL; } @@ -235,71 +346,19 @@ bool minconNLP::eval_jac_g(Index n, const Number* x, bool new_x,Index m, Index n //jacobian of non-linear constraints if(nonlinCon_!=0) { - if(flag3_==0) - { - int* gradhessptr=NULL; - if(getFunctionFromScilab(2,&gradhessptr)) - { - return 1; - } - double *xNew=x; - double t=3; - createMatrixOfDouble(pvApiCtx, 18, 1, numVars_, xNew); - createScalarDouble(pvApiCtx, 19,t); - int positionFirstElementOnStackForScilabFunction = 18; - int numberOfRhsOnScilabFunction = 2; - int numberOfLhsOnScilabFunction = 2; - int pointerOnScilabFunction = *gradhessptr; - char name[20]="gradhess"; - - C2F(scistring)(&positionFirstElementOnStackForScilabFunction,name, - &numberOfLhsOnScilabFunction, - &numberOfRhsOnScilabFunction,(unsigned long)strlen(name)); - - double* resj; - int xJ_rows,xJ_cols; - if(getDoubleFromScilab(19,&check)) - { - return true; - } - if (check==1) - { - return true; - } - else - { - if(getDoubleMatrixFromScilab(18, &xJ_rows, &xJ_cols, &resj)) - { - sciprint("No results"); - return 1; - } - - for(i=0;i<nonlinCon_;i++) - { - for(j=0;j<n;j++) - { - values[c] = resj[j*(int)nonlinCon_+i]; - c++; - } - } - } - } - - else - { int* jacptr=NULL; - if(getFunctionFromScilab(17,&jacptr)) + if(getFunctionFromScilab(13,&jacptr)) { return 1; } double *xNew=x; - createMatrixOfDouble(pvApiCtx, 18, 1, numVars_, xNew); - int positionFirstElementOnStackForScilabFunction = 18; + createMatrixOfDouble(pvApiCtx, 14, 1, numVars_, xNew); + int positionFirstElementOnStackForScilabFunction = 14; int numberOfRhsOnScilabFunction = 1; int numberOfLhsOnScilabFunction = 2; int pointerOnScilabFunction = *jacptr; - char name[20]="addcGrad1"; + char name[18]="addcGrad1"; C2F(scistring)(&positionFirstElementOnStackForScilabFunction,name, &numberOfLhsOnScilabFunction, @@ -307,7 +366,7 @@ bool minconNLP::eval_jac_g(Index n, const Number* x, bool new_x,Index m, Index n double* resj; int xJ_rows,xJ_cols; - if(getDoubleFromScilab(19,&check)) + if(getDoubleFromScilab(15,&check)) { return true; } @@ -317,7 +376,7 @@ bool minconNLP::eval_jac_g(Index n, const Number* x, bool new_x,Index m, Index n } else { - if(getDoubleMatrixFromScilab(18, &xJ_rows, &xJ_cols, &resj)) + if(getDoubleMatrixFromScilab(14, &xJ_rows, &xJ_cols, &resj)) { sciprint("No results"); return 1; @@ -330,7 +389,6 @@ bool minconNLP::eval_jac_g(Index n, const Number* x, bool new_x,Index m, Index n c++; } } - } } //jacobian of linear equality constraints @@ -359,139 +417,6 @@ bool minconNLP::eval_jac_g(Index n, const Number* x, bool new_x,Index m, Index n return true; } -//get value of objective function at vector x -bool minconNLP::eval_f(Index n, const Number* x, bool new_x, Number& obj_value) -{ - int* funptr=NULL; - if(getFunctionFromScilab(1,&funptr)) - { - return 1; - } - char name[20]="f"; - double obj=0; - double *xNew=x; - double check; - createMatrixOfDouble(pvApiCtx, 18, 1, numVars_, xNew); - int positionFirstElementOnStackForScilabFunction = 18; - int numberOfRhsOnScilabFunction = 1; - int numberOfLhsOnScilabFunction = 2; - int pointerOnScilabFunction = *funptr; - - C2F(scistring)(&positionFirstElementOnStackForScilabFunction,name, - &numberOfLhsOnScilabFunction, - &numberOfRhsOnScilabFunction,(unsigned long)strlen(name)); - - if(getDoubleFromScilab(19,&check)) - { - return true; - } - if (check==1) - { - return true; - } - else - { - if(getDoubleFromScilab(18,&obj)) - { - sciprint("No obj value"); - return 1; - } - obj_value=obj; - - return true; - } -} - -//get value of gradient of objective function at vector x. -bool minconNLP::eval_grad_f(Index n, const Number* x, bool new_x, Number* grad_f) -{ - if (flag1_==0) - { - int* gradhessptr=NULL; - if(getFunctionFromScilab(2,&gradhessptr)) - { - return 1; - } - double *xNew=x; - double t=1; - createMatrixOfDouble(pvApiCtx, 18, 1, numVars_, xNew); - createScalarDouble(pvApiCtx, 19,t); - int positionFirstElementOnStackForScilabFunction = 18; - int numberOfRhsOnScilabFunction = 2; - int numberOfLhsOnScilabFunction = 2; - int pointerOnScilabFunction = *gradhessptr; - char name[20]="gradhess"; - - C2F(scistring)(&positionFirstElementOnStackForScilabFunction,name, - &numberOfLhsOnScilabFunction, - &numberOfRhsOnScilabFunction,(unsigned long)strlen(name)); - } - - else - { - int* gradptr=NULL; - if(getFunctionFromScilab(13,&gradptr)) - { - return 1; - } - double *xNew=x; - createMatrixOfDouble(pvApiCtx, 18, 1, numVars_, xNew); - int positionFirstElementOnStackForScilabFunction = 18; - int numberOfRhsOnScilabFunction = 1; - int numberOfLhsOnScilabFunction = 2; - int pointerOnScilabFunction = *gradptr; - char name[20]="fGrad1"; - - C2F(scistring)(&positionFirstElementOnStackForScilabFunction,name, - &numberOfLhsOnScilabFunction, - &numberOfRhsOnScilabFunction,(unsigned long)strlen(name)); - } - - double* resg; - double check; - int x0_rows,x0_cols; - if(getDoubleFromScilab(19,&check)) - { - return true; - } - if (check==1) - { - return true; - } - else - { - if(getDoubleMatrixFromScilab(18, &x0_rows, &x0_cols, &resg)) - { - sciprint("No results"); - return 1; - } - - - Index i; - for(i=0;i<numVars_;i++) - { - grad_f[i]=resg[i]; - finalGradient_[i]=resg[i]; - } - } - return true; -} - -// This method sets initial values for required vectors . For now we are assuming 0 to all values. -bool minconNLP::get_starting_point(Index n, bool init_x, Number* x,bool init_z, Number* z_L, Number* z_U,Index m, bool init_lambda,Number* lambda) -{ - assert(init_x == true); - assert(init_z == false); - assert(init_lambda == false); - if (init_x == true) - { //we need to set initial values for vector x - for (Index var=0;var<n;var++) - x[var]=varGuess_[var]; - } - - return true; -} - /* * Return either the sparsity structure of the Hessian of the Lagrangian, * or the values of the Hessian of the Lagrangian for the given values for @@ -505,7 +430,7 @@ bool minconNLP::eval_h(Index n, const Number* x, bool new_x,Number obj_factor, I Index idx=0; for (Index row = 0; row < numVars_; row++) { - for (Index col = 0; col <= row; col++) + for (Index col = 0; col < numVars_; col++) { iRow[idx] = row; jCol[idx] = col; @@ -517,145 +442,23 @@ bool minconNLP::eval_h(Index n, const Number* x, bool new_x,Number obj_factor, I else { double check; - //hessian of the objective function - if(flag2_==0) - { - int* gradhessptr=NULL; - if(getFunctionFromScilab(2,&gradhessptr)) - { - return 1; - } - double *xNew=x; - double t=2; - createMatrixOfDouble(pvApiCtx, 18, 1, numVars_, xNew); - createScalarDouble(pvApiCtx, 19,t); - int positionFirstElementOnStackForScilabFunction = 18; - int numberOfRhsOnScilabFunction = 2; - int numberOfLhsOnScilabFunction = 2; - int pointerOnScilabFunction = *gradhessptr; - char name[20]="gradhess"; - - C2F(scistring)(&positionFirstElementOnStackForScilabFunction,name, - &numberOfLhsOnScilabFunction, - &numberOfRhsOnScilabFunction,(unsigned long)strlen(name)); - - double* resTemph; - int x0_rows,x0_cols; - if(getDoubleFromScilab(19,&check)) - { - return true; - } - if (check==1) - { - return true; - } - else - { - if(getDoubleMatrixFromScilab(18, &x0_rows, &x0_cols, &resTemph)) - { - sciprint("No results"); - return 1; - } - - double* resh=(double*)malloc(sizeof(double)*n*n); - Index i; - for(i=0;i<numVars_*numVars_;i++) - { - resh[i]=resTemph[i]; - } - - //sum of hessians of constraints each multiplied by its own lambda factor - double* sum=(double*)malloc(sizeof(double)*n*n); - if(nonlinCon_!=0) - { - - int* gradhessptr=NULL; - if(getFunctionFromScilab(2,&gradhessptr)) - { - return 1; - } - - double *xNew=x; - double t=4; - createMatrixOfDouble(pvApiCtx, 18, 1, numVars_, xNew); - createScalarDouble(pvApiCtx, 19,t); - int positionFirstElementOnStackForScilabFunction = 18; - int numberOfRhsOnScilabFunction = 2; - int numberOfLhsOnScilabFunction = 2; - int pointerOnScilabFunction = *gradhessptr; - char name[20]="gradhess"; - - C2F(scistring)(&positionFirstElementOnStackForScilabFunction,name, - &numberOfLhsOnScilabFunction, - &numberOfRhsOnScilabFunction,(unsigned long)strlen(name)); - double* resCh; - int xCh_rows,xCh_cols; - if(getDoubleFromScilab(19,&check)) - { - return true; - } - if (check==1) - { - return true; - } - else - { - if(getDoubleMatrixFromScilab(18, &xCh_rows, &xCh_cols, &resCh)) - { - sciprint("No results"); - return 1; - } - - Index j; - - for(i=0;i<numVars_*numVars_;i++) - { - sum[i]=0; - for(j=0;j<nonlinCon_;j++) - sum[i]+=lambda[j]*resCh[i*(int)nonlinCon_+j]; - } - } - } - - else - { - for(i=0;i<numVars_*numVars_;i++) - sum[i]=0; - } - - //computing the lagrangian - Index index=0; - for (Index row=0;row < numVars_ ;++row) - { - for (Index col=0; col <= row; ++col) - { - values[index++]=obj_factor*(resh[numVars_*row+col])+sum[numVars_*row+col]; - } - } - - free(resh); - free(sum); - } - } - else - { int* hessptr=NULL; - if(getFunctionFromScilab(15,&hessptr)) + if(getFunctionFromScilab(12,&hessptr)) { return 1; } double *xNew=x; double *lambdaNew=lambda; double objfac=obj_factor; - createMatrixOfDouble(pvApiCtx, 18, 1, numVars_, xNew); - createScalarDouble(pvApiCtx, 19,objfac); - createMatrixOfDouble(pvApiCtx, 20, 1, numConstr_, lambdaNew); - int positionFirstElementOnStackForScilabFunction = 18; + createMatrixOfDouble(pvApiCtx, 14, 1, numVars_, xNew); + createScalarDouble(pvApiCtx, 15,objfac); + createMatrixOfDouble(pvApiCtx, 16, 1, numConstr_, lambdaNew); + int positionFirstElementOnStackForScilabFunction = 14; int numberOfRhsOnScilabFunction = 3; int numberOfLhsOnScilabFunction = 2; int pointerOnScilabFunction = *hessptr; - char name[20]="lHess1"; + char name[18]="lHess1"; C2F(scistring)(&positionFirstElementOnStackForScilabFunction,name, &numberOfLhsOnScilabFunction, @@ -663,7 +466,7 @@ bool minconNLP::eval_h(Index n, const Number* x, bool new_x,Number obj_factor, I double* resCh; int xCh_rows,xCh_cols; - if(getDoubleFromScilab(19,&check)) + if(getDoubleFromScilab(15,&check)) { return true; } @@ -673,7 +476,7 @@ bool minconNLP::eval_h(Index n, const Number* x, bool new_x,Number obj_factor, I } else { - if(getDoubleMatrixFromScilab(18, &xCh_rows, &xCh_cols, &resCh)) + if(getDoubleMatrixFromScilab(14, &xCh_rows, &xCh_cols, &resCh)) { sciprint("No results"); return 1; @@ -682,14 +485,12 @@ bool minconNLP::eval_h(Index n, const Number* x, bool new_x,Number obj_factor, I Index index=0; for (Index row=0;row < numVars_ ;++row) { - for (Index col=0; col <= row; ++col) + for (Index col=0; col < numVars_; ++col) { values[index++]=resCh[numVars_*row+col]; } } } - } - Index index=0; for (Index row=0;row < numVars_ ;++row) @@ -700,14 +501,6 @@ bool minconNLP::eval_h(Index n, const Number* x, bool new_x,Number obj_factor, I } } - index=0; - for (Index col=0;col < numVars_ ;++col) - { - for (Index row=0; row <= col; ++row) - { - finalHessian_[n*row+col]=values[index++]; - } - } } return true; diff --git a/sci_gateway/loader_gateway.sce b/sci_gateway/loader_gateway.sce new file mode 100644 index 0000000..6809d99 --- /dev/null +++ b/sci_gateway/loader_gateway.sce @@ -0,0 +1,24 @@ +// This file is released under the 3-clause BSD license. See COPYING-BSD. +// Generated by builder_gateway.sce: Please, do not edit this file + +try + v = getversion("scilab"); +catch + v = [ 5 0 ]; // or older +end +if (v(1) <= 5) & (v(2) < 3) then + // new API in scilab 5.3 + error(gettext("Scilab 5.3 or more is required.")); +end + +sci_gateway_dir = get_absolute_file_path("loader_gateway.sce"); +current_dir = pwd(); + +chdir(sci_gateway_dir); +if ( isdir("cpp") ) then + chdir("cpp"); + exec("loader.sce"); +end + +chdir(current_dir); +clear sci_gateway_dir current_dir v; diff --git a/tests/general_tests/fminbnd/fminbnd_f.sce b/tests/general_tests/fminbnd/fminbnd_f.sce new file mode 100644 index 0000000..96b08de --- /dev/null +++ b/tests/general_tests/fminbnd/fminbnd_f.sce @@ -0,0 +1,15 @@ +//Find x in R^6 such that: +// Check if a user specifies function or not + +fun = []; +x1 = [1,1,1,1,1,1]; +x2 = [6,6,6,6,6,6]; +options=list("MaxIter", [1500], "CpuTime", [500],"TolX",[1e-6]); + +//Error +//fminunc: Expected function for Objective +//at line 148 of function fminunc called by : +//[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); + +[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, x1, x2, options); + diff --git a/tests/general_tests/fminbnd/fminbnd_lb1.sce b/tests/general_tests/fminbnd/fminbnd_lb1.sce new file mode 100644 index 0000000..3c60c1e --- /dev/null +++ b/tests/general_tests/fminbnd/fminbnd_lb1.sce @@ -0,0 +1,18 @@ +//Find x in R^2 such that: +// Check if a lower bound is empty or not + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x1 = []; +x2 = [1,2]; +options=list("MaxIter", [1500], "CpuTime", [500],"TolX",[1e-6]); + +//Error +//fminbnd: Lower Bound (2nd Parameter) cannot be empty +//at line 177 of function fminbnd called by : +//[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, lb, ub, options); + + +[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, x1, x2, options); + diff --git a/tests/general_tests/fminbnd/fminbnd_lb2.sce b/tests/general_tests/fminbnd/fminbnd_lb2.sce new file mode 100644 index 0000000..f159657 --- /dev/null +++ b/tests/general_tests/fminbnd/fminbnd_lb2.sce @@ -0,0 +1,18 @@ +//Find x in R^2 such that: +// Check if the user specifies correct lower bound + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x1 = [1]; +x2 = [2]; +options=list("MaxIter", [1500], "CpuTime", [500],"TolX",[1e-6]); + +//Error +//fminbnd: Objective function and x1 did not match +//at line 193 of function fminbnd called by : +//[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, x1, x2, options); + + +[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, x1, x2, options); + diff --git a/tests/general_tests/fminbnd/fminbnd_lbub.sce b/tests/general_tests/fminbnd/fminbnd_lbub.sce new file mode 100644 index 0000000..3a3ec52 --- /dev/null +++ b/tests/general_tests/fminbnd/fminbnd_lbub.sce @@ -0,0 +1,19 @@ +//Find x in R^2 such that: +// Check if Upper bound and lower bound is entered correctly + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x1 = [0.5,2.1]; +x2 = [1,2]; +options=list("MaxIter", [1500], "CpuTime", [500],"TolX",[1e-6]); + +//Error +//fminbnd: Difference between Upper Bound and Lower bound should be atleast > 10^-6 for variable number= 2 +//at line 242 of function fminbnd called by : +//[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, x1, x2, options) + + + +[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, x1, x2, options) + diff --git a/tests/general_tests/fminbnd/fminbnd_logical1.sce b/tests/general_tests/fminbnd/fminbnd_logical1.sce new file mode 100644 index 0000000..87da61d --- /dev/null +++ b/tests/general_tests/fminbnd/fminbnd_logical1.sce @@ -0,0 +1,38 @@ +//Find x in R^2 such that: +//An Example which results in exceeding Maximum Iterations + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x1 = [0,0]; +x2 = [1,2]; +options=list("MaxIter", [8], "CpuTime", [500],"TolX",[1e-6]); + +//Output +// +//Maximum Number of Iterations Exceeded. Output may not be optimal. +// lambda = +// +// lower: [0.0026488,0.0024921] +// upper: [8.873D-08,4.494D-08] +// output = +// +// Iterations: 8 +// Cpu_Time: 0.012 +// Objective_Evaluation: 9 +// Dual_Infeasibility: 2.632D-12 +// Message: "Maximum Number of Iterations Exceeded. Output may not be optimal" +// exitflag = +// +// 1 +// fopt = +// +// 0.0000033 +// xopt = +// +// 0.0013244 +// 0.0012460 + + +[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, x1, x2, options) + diff --git a/tests/general_tests/fminbnd/fminbnd_logical2.sce b/tests/general_tests/fminbnd/fminbnd_logical2.sce new file mode 100644 index 0000000..65ebee6 --- /dev/null +++ b/tests/general_tests/fminbnd/fminbnd_logical2.sce @@ -0,0 +1,38 @@ +//Find x in R^2 such that: +//An Example which results in exceeding Maximum CPU-Time + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x1 = [0,0]; +x2 = [1,2]; +options=list("MaxIter", [100], "CpuTime", [0.01],"TolX",[1e-6]); + +//Output +// +//Maximum CPU Time exceeded. Output may not be optimal. +// lambda = +// +// lower: [0,0] +// upper: [0,0] +// output = +// +// Iterations: 3 +// Cpu_Time: 0.012 +// Objective_Evaluation: 4 +// Dual_Infeasibility: 9.406D-11 +// Message: "Maximum CPU Time exceeded. Output may not be optimal" +// exitflag = +// +// 2 +// fopt = +// +// 0. +// xopt = +// +// 0.0381891 +// 0.0353974 + + +[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, x1, x2, options) + diff --git a/tests/general_tests/fminbnd/fminbnd_options1.sce b/tests/general_tests/fminbnd/fminbnd_options1.sce new file mode 100644 index 0000000..bc98cae --- /dev/null +++ b/tests/general_tests/fminbnd/fminbnd_options1.sce @@ -0,0 +1,18 @@ +//Find x in R^2 such that: +// Check if a user specifies correct options or not + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x1 = [1,2]; +x2 = [3,4]; +options=list("MaxIter", "", "CpuTime", [500],"TolX",[1e-6]); + +//Error +//fminbnd: Value for Maximum Iteration should be a Constant +//at line 261 of function fminbnd called by : +//[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, x1, x2, options); + + +[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, x1, x2, options); + diff --git a/tests/general_tests/fminbnd/fminbnd_options2.sce b/tests/general_tests/fminbnd/fminbnd_options2.sce new file mode 100644 index 0000000..b4a9f13 --- /dev/null +++ b/tests/general_tests/fminbnd/fminbnd_options2.sce @@ -0,0 +1,18 @@ +//Find x in R^2 such that: +// Check if a user specifies correct options or not + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x1 = [1,2]; +x2 = [3,4]; +options=list("MaxIter", [1000], "CpuTime", "TolX",[1e-6]); + +//Error +//fminbnd: Value for Maximum Cpu-time should be a Constant +//at line 268 of function fminbnd called by : +//[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, x1, x2, options); + + +[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, x1, x2, options); + diff --git a/tests/general_tests/fminbnd/fminbnd_options3.sce b/tests/general_tests/fminbnd/fminbnd_options3.sce new file mode 100644 index 0000000..5699cf9 --- /dev/null +++ b/tests/general_tests/fminbnd/fminbnd_options3.sce @@ -0,0 +1,17 @@ +//Find x in R^2 such that: +// Check if a user specifies correct options or not + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x1 = [1,2]; +x2 = [3,4]; +options=list("MaxIter", [1000], "CpuTime", [100], "TolX", " "); + +//Error +//fminbnd: Value for Tolerance should be a Constant +//at line 275 of function fminbnd called by : +//[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, x1, x2, options); + +[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, x1, x2, options); + diff --git a/tests/general_tests/fminbnd/fminbnd_ub1.sce b/tests/general_tests/fminbnd/fminbnd_ub1.sce new file mode 100644 index 0000000..daf1487 --- /dev/null +++ b/tests/general_tests/fminbnd/fminbnd_ub1.sce @@ -0,0 +1,18 @@ +//Find x in R^2 such that: +// Check if a upper bound is of correct size + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x1 = [1,2]; +x2 = [1]; +options=list("MaxIter", [1500], "CpuTime", [500],"TolX",[1e-6]); + +//Error +//fminbnd: Upper Bound and Lower Bound are not matching +//at line 213 of function fminbnd called by : +//[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, x1, x2, options) + + +[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, x1, x2, options) + diff --git a/tests/general_tests/fminbnd/fminbnd_ub2.sce b/tests/general_tests/fminbnd/fminbnd_ub2.sce new file mode 100644 index 0000000..82c446d --- /dev/null +++ b/tests/general_tests/fminbnd/fminbnd_ub2.sce @@ -0,0 +1,18 @@ +//Find x in R^2 such that: +// Check the type of Upperbound + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x1 = [1;2]; +x2 = list(2,3); +options=list("MaxIter", [1500], "CpuTime", [500],"TolX",[1e-6]); + +//Error +//fminbnd: Expected Vector/Scalar for Upper Bound Vector (3rd Parameter) +//at line 199 of function fminbnd called by : +//[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, x1, x2, options) + + +[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, x1, x2, options) + diff --git a/tests/general_tests/fmincon/fmincon_A.sce b/tests/general_tests/fmincon/fmincon_A.sce new file mode 100644 index 0000000..dd0df48 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_A.sce @@ -0,0 +1,20 @@ + +// Check if a user specifies coefficients of linear inequality contraints of the correct dimensions + +function y=fun(x) +y=x(1)+x(2); +endfunction + +x0 = [1,2]; +A = [3,4,5,6]; +b = [7,9]; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: Expected Matrix of size (No of linear inequality constraints X No of Variables) or an Empty Matrix for Linear Inequality Constraint coefficient Matrix A +//at line 343 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b); +//at line 20 of exec file called by : +//exec fmincon_A.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b); diff --git a/tests/general_tests/fmincon/fmincon_Aeq.sce b/tests/general_tests/fmincon/fmincon_Aeq.sce new file mode 100644 index 0000000..17d8756 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_Aeq.sce @@ -0,0 +1,22 @@ + +// Check if a user specifies coefficients of linear equality contraints of the correct dimensions + +function y=fun(x) +y=x(1)+x(2); +endfunction + +x0 = [1,2]; +A = [3,4]; +b = [7]; +Aeq = [1,4,9]; +beq = [2]; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: Expected Matrix of size (No of linear equality constraints X No of Variables) or an Empty Matrix for Linear Equality Constraint coefficient Matrix Aeq +//at line 380 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq); +//at line 22 of exec file called by : +//exec fmincon_Aeq.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq); diff --git a/tests/general_tests/fmincon/fmincon_b1.sce b/tests/general_tests/fmincon/fmincon_b1.sce new file mode 100644 index 0000000..e43a866 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_b1.sce @@ -0,0 +1,20 @@ + +// Check if a user specifies upper bounds of linear inequality contraints in accordance with starting point dimensions and coefficient matrix of linear inequality constraints + +function y=fun(x) +y=x(1)+x(2); +endfunction + +x0 = [1,2]; +A = [3,4]; +b = [7,9,10,20]; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: Expected Row Vector (1 X number of linear inequality constraints) for b (4th Parameter) +//at line 368 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b); +//at line 20 of exec file called by : +//exec fmincon_b.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b); diff --git a/tests/general_tests/fmincon/fmincon_b2.sce b/tests/general_tests/fmincon/fmincon_b2.sce new file mode 100644 index 0000000..65cfc90 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_b2.sce @@ -0,0 +1,20 @@ + +// Check if a user specifies upper bounds of linear inequality contraints in accordance with starting point dimensions and coefficient matrix of linear inequality constraints + +function y=fun(x) +y=x(1)+x(2); +endfunction + +x0 = [1,2]; +A = []; +b = [8,3]; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: Expected Row Vector (1 X number of linear inequality constraints) for b (4th Parameter) +//at line 368 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b); +//at line 20 of exec file called by : +//exec fmincon_b.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b); diff --git a/tests/general_tests/fmincon/fmincon_b3.sce b/tests/general_tests/fmincon/fmincon_b3.sce new file mode 100644 index 0000000..982ad69 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_b3.sce @@ -0,0 +1,20 @@ + +// Check if a user specifies upper bounds of linear inequality contraints in accordance with starting point dimensions and coefficient matrix of linear inequality constraints + +function y=fun(x) +y=x(1)+x(2); +endfunction + +x0 = [1,2]; +A = [5,8]; +b = []; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: Expected Non empty Row/Column Vector for b (4th Parameter) for your Inputs +//at line 360 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b); +//at line 20 of exec file called by : +//exec fmincon_b3.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b); diff --git a/tests/general_tests/fmincon/fmincon_beq1.sce b/tests/general_tests/fmincon/fmincon_beq1.sce new file mode 100644 index 0000000..6133b77 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_beq1.sce @@ -0,0 +1,22 @@ + +// Check if a user specifies value of linear equality contraints in accordance with starting point dimensions and coefficient matrix of linear equality constraints + +function y=fun(x) +y=x(1)+x(2); +endfunction + +x0 = [1,2]; +A = [3,4]; +b = [7]; +Aeq = [1,4]; +beq = [2,6]; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: Expected Matrix of size (No of linear equality constraints X No of Variables) or an Empty Matrix for Linear Equality Constraint coefficient Matrix Aeq +//at line 380 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq); +//at line 22 of exec file called by : +//exec fmincon_Aeq.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq); diff --git a/tests/general_tests/fmincon/fmincon_beq2.sce b/tests/general_tests/fmincon/fmincon_beq2.sce new file mode 100644 index 0000000..7d2af88 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_beq2.sce @@ -0,0 +1,22 @@ + +// Check if a user specifies value of linear equality contraints in accordance with starting point dimensions and coefficient matrix of linear equality constraints + +function y=fun(x) +y=x(1)+x(2); +endfunction + +x0 = [1,2]; +A = [3,4]; +b = [7]; +Aeq = []; +beq = [2,6]; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: As Linear Equality Constraint coefficient Matrix Aeq (5th parameter) is empty, beq (6th Parameter) should also be empty +//at line 392 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq); +//at line 22 of exec file called by : +//exec fmincon_beq2.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq); diff --git a/tests/general_tests/fmincon/fmincon_beq3.sce b/tests/general_tests/fmincon/fmincon_beq3.sce new file mode 100644 index 0000000..0605fdb --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_beq3.sce @@ -0,0 +1,22 @@ + +// Check if a user specifies value of linear equality contraints in accordance with starting point dimensions and coefficient matrix of linear equality constraints + +function y=fun(x) +y=x(1)+x(2); +endfunction + +x0 = [1,2]; +A = [3,4]; +b = [7]; +Aeq = [7,5]; +beq = []; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: Expected Non empty Row/Column Vector for beq (6th Parameter) +//at line 397 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq); +//at line 22 of exec file called by : +//exec fmincon_beq3.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq); diff --git a/tests/general_tests/fmincon/fmincon_cputime.sce b/tests/general_tests/fmincon/fmincon_cputime.sce new file mode 100644 index 0000000..25e5aef --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_cputime.sce @@ -0,0 +1,56 @@ +// Example where maxiter exceeds the preset value + +function y=fun(x) +y=x(1)*x(1)+x(2)*x(2); +endfunction + +x0 = [1,2]; +A=[1,1 ; 1,1/4 ; 1,-1 ; -1/4,-1 ; -1,-1 ; -1,1]; +b=[2;1;2;1;-1;2]; +Aeq = [1,3] +beq= [5] +lb = [0 0] +ub = [2 1.5] + +function [c,ceq]=nlc(x) +c = [x(1)^2 - x(2)^2 + 0.5 , x(1)^2 + x(2)^2 - 2.5]; +ceq = []; +endfunction + +options = list("MaxIter", [150], "CpuTime", [0.005]) + +//Output +//Maximum CPU Time exceeded. Output may not be optimal. +// hessian = +// +// 1.79D-316 3.95D-323 +// 2.12D-314 4.34D+276 +// gradient = +// +// 3.96 2.97 +// lambda = +// +// lower: [0,0] +// upper: [0,0] +// ineqlin: [0,0,0,0,0,0] +// eqlin: 0 +// ineqnonlin: [0,0] +// eqnonlin: [0x0 constant] +// output = +// +// Iterations: 0 +// Cpu_Time: 0.016 +// Objective_Evaluation: 1 +// Dual_Infeasibility: 1.4815294 +// exitflag = +// +// 2 +// fopt = +// +// 0. +// xopt = +// +// 1.98 +// 1.485 + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub, nlc, options) diff --git a/tests/general_tests/fmincon/fmincon_f.sce b/tests/general_tests/fmincon/fmincon_f.sce new file mode 100644 index 0000000..ec89f33 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_f.sce @@ -0,0 +1,18 @@ + +// Check if a user specifies function or not + +fun = []; +x0 = [1,2,3,4,5,6]; +A = [2,4,8,9,3,5]; +b = [1,5,7,3,9,6]; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: Expected type ["function"] for input argument f at input #1, but got "constant" instead. +//at line 56 of function Checktype called by : +//at line 297 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b); +//at line 18 of exec file called by : +//exec fmincon_f.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b); diff --git a/tests/general_tests/fmincon/fmincon_lb1.sce b/tests/general_tests/fmincon/fmincon_lb1.sce new file mode 100644 index 0000000..17b8eea --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_lb1.sce @@ -0,0 +1,24 @@ + +//Check if lower bound is a vector + +function y=fun(x) +y=x(1)+x(2); +endfunction + +x0 = [1,2]; +A = [3,4]; +b = [7]; +Aeq = []; +beq = []; +lb = [2,4;5,9]; +ub = []; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: Lower Bound (7th Parameter) should be a vector +//at line 422 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub); +//at line 24 of exec file called by : +//exec fmincon_lb1.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub); diff --git a/tests/general_tests/fmincon/fmincon_lb2.sce b/tests/general_tests/fmincon/fmincon_lb2.sce new file mode 100644 index 0000000..4420a12 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_lb2.sce @@ -0,0 +1,24 @@ + +//Check if lower bound is row vector of correct dimensions + +function y=fun(x) +y=x(1)+x(2); +endfunction + +x0 = [1,2]; +A = [3,4]; +b = [7]; +Aeq = []; +beq = []; +lb = [2,4,9]; +ub = []; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: Expected Row Vector (1 X number of Variables) for lower bound (7th Parameter) +//at line 430 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub); +//at line 24 of exec file called by : +//exec fmincon_lb2.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub); diff --git a/tests/general_tests/fmincon/fmincon_lb3.sce b/tests/general_tests/fmincon/fmincon_lb3.sce new file mode 100644 index 0000000..dc0b528 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_lb3.sce @@ -0,0 +1,24 @@ + +//Check if lower bound is column vector of correct dimensions + +function y=fun(x) +y=x(1)+x(2); +endfunction + +x0 = [1,2]; +A = [3,4]; +b = [7]; +Aeq = []; +beq = []; +lb = [2;4;9]; +ub = []; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: Expected Column Vector (number of Variables X 1) for lower bound (7th Parameter) +//at line 425 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub); +//at line 24 of exec file called by : +//exec fmincon_lb3.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub); diff --git a/tests/general_tests/fmincon/fmincon_lb4.sce b/tests/general_tests/fmincon/fmincon_lb4.sce new file mode 100644 index 0000000..643af5a --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_lb4.sce @@ -0,0 +1,24 @@ + +//Check if lower bound is not infinity + +function y=fun(x) +y=x(1)+x(2); +endfunction + +x0 = [1,2]; +A = [3,4]; +b = [7]; +Aeq = []; +beq = []; +lb = [%inf,4]; +ub = []; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: Value of Lower Bound can not be infinity +//at line 462 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub); +//at line 24 of exec file called by : +//exec fmincon_lb4.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub); diff --git a/tests/general_tests/fmincon/fmincon_lbub.sce b/tests/general_tests/fmincon/fmincon_lbub.sce new file mode 100644 index 0000000..d4c42ac --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_lbub.sce @@ -0,0 +1,24 @@ + +//Check if upper bound is greater than lower bound by atleast 1e-6 + +function y=fun(x) +y=x(1)+x(2); +endfunction + +x0 = [1,2]; +A = [3,4]; +b = [7]; +Aeq = []; +beq = []; +lb = [1,0]; +ub = [0,1]; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: Difference between Upper Bound and Lower bound should be atleast > 10^6 for variable number= 1 +//at line 472 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub); +//at line 24 of exec file called by : +//exec fmincon_lbub.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub); diff --git a/tests/general_tests/fmincon/fmincon_logical1.sce b/tests/general_tests/fmincon/fmincon_logical1.sce new file mode 100644 index 0000000..9cbaf57 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_logical1.sce @@ -0,0 +1,45 @@ +// Example with objective function and inequality constraints + +function y=fun(x) +y=x(1)*x(1)+x(2)*x(2); +endfunction + +x0 = [1,2]; +A=[1,1 ; 1,1/4 ; 1,-1 ; -1/4,-1 ; -1,-1 ; -1,1]; +b=[2;1;2;1;-1;2]; + +//Output +//Optimal Solution Found. +// hessian = +// +// 2. - 7.451D-09 +// - 7.451D-09 2. +// gradient = +// +// 1.0000000 1. +// lambda = +// +// lower: [0,0] +// upper: [0,0] +// ineqlin: [9.087D-09,2.424D-08,4.546D-09,5.596D-09,1,4.544D-09] +// eqlin: [0x0 constant] +// ineqnonlin: [0x0 constant] +// eqnonlin: [0x0 constant] +// output = +// +// Iterations: 8 +// Cpu_Time: 0.112 +// Objective_Evaluation: 9 +// Dual_Infeasibility: 1.299D-11 +// exitflag = +// +// 0 +// fopt = +// +// 0.5 +// xopt = +// +// 0.5000000 +// 0.5000000 + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b) diff --git a/tests/general_tests/fmincon/fmincon_logical10.sce b/tests/general_tests/fmincon/fmincon_logical10.sce new file mode 100644 index 0000000..45ffdf3 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_logical10.sce @@ -0,0 +1,66 @@ +//Example where user provides hessian + +function y=f(x) +y=x(1)*x(2)+x(2)*x(3); +endfunction +//Starting point, linear constraints and variable bounds +x0=[0.1 , 0.1 , 0.1]; +A=[]; +b=[]; +Aeq=[]; +beq=[]; +lb=[]; +ub=[]; +//Nonlinear constraints +function [c,ceq]=nlc(x) +c = [x(1)^2 - x(2)^2 + x(3)^2 - 2 , x(1)^2 + x(2)^2 + x(3)^2 - 10]; +ceq = []; +endfunction + +//Hessian of the Lagrange Function +function y= lHess(x,obj,lambda) +y= obj*[0,1,0;1,0,1;0,1,0] + lambda(1)*[2,0,0;0,-2,0;0,0,2] + lambda(2)*[2,0,0;0,2,0;0,0,2] +endfunction + +//Options +options=list("MaxIter", [1500], "CpuTime", [500], "Hessian", lHess); + +//Output +//Optimal Solution Found. +// hessian = +// +// 1.4142136 1.72D-322 2.12D-314 +// 1. 0. 5.82D+252 +// 1. 1.4142136 1. +// gradient = +// +// 2.236068 - 3.1622776 2.236068 +// lambda = +// +// lower: [0,0,0] +// upper: [0,0,0] +// ineqlin: [0x0 constant] +// eqlin: [0x0 constant] +// ineqnonlin: [4.545D-09,0.7071068] +// eqnonlin: [0x0 constant] +// output = +// +// Iterations: 23 +// Cpu_Time: 0.164 +// Objective_Evaluation: 24 +// Dual_Infeasibility: 6.124D-08 +// Message: "Optimal Solution Found" +// exitflag = +// +// 0 +// fopt = +// +// - 7.0710678 +// xopt = +// +// - 1.5811388 +// 2.236068 +// - 1.5811388 + +//Calling Ipopt +[xopt,fopt,exitflag,output,lambda,gradient,hessian] =fmincon(f, x0,A,b,Aeq,beq,lb,ub,nlc,options) diff --git a/tests/general_tests/fmincon/fmincon_logical11.sce b/tests/general_tests/fmincon/fmincon_logical11.sce new file mode 100644 index 0000000..0fe17ee --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_logical11.sce @@ -0,0 +1,46 @@ +// Example with objective function using log functions + +function y=fun(x) +y=log(x(1)+x(2)); +endfunction + +x0 = [1,2]; +A=[1,1 ; 1,1/4 ; 1,-1 ; -1/4,-1 ; -1,-1 ; -1,1]; +b=[2;1;2;1;-1;2]; + +//Output +//Optimal Solution Found. +// hessian = +// +// - 1.0000001 3.95D-323 +// - 1. - 1. +// gradient = +// +// 1. 1. +// lambda = +// +// lower: [0,0] +// upper: [0,0] +// ineqlin: [9.091D-09,1.384D-08,3.304D-09,4.768D-09,1,7.281D-09] +// eqlin: [0x0 constant] +// ineqnonlin: [0x0 constant] +// eqnonlin: [0x0 constant] +// output = +// +// Iterations: 13 +// Cpu_Time: 0.228 +// Objective_Evaluation: 14 +// Dual_Infeasibility: 3.040D-09 +// Message: "Optimal Solution Found" +// exitflag = +// +// 0 +// fopt = +// +// - 9.091D-10 +// xopt = +// +// 0.1243037 +// 0.8756963 + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b) diff --git a/tests/general_tests/fmincon/fmincon_logical2.sce b/tests/general_tests/fmincon/fmincon_logical2.sce new file mode 100644 index 0000000..94e91f1 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_logical2.sce @@ -0,0 +1,47 @@ +// Example with objective function, equality and inequality constraints + +function y=fun(x) +y=x(1)*x(1)+x(2)*x(2); +endfunction + +x0 = [1,2]; +A=[1,1 ; 1,1/4 ; 1,-1 ; -1/4,-1 ; -1,-1 ; -1,1]; +b=[2;1;2;1;-1;2]; +Aeq = [1,3] +beq= [1.5] + +//Output +//Optimal Solution Found. +// hessian = +// +// 2. 0. +// 0. 2. +// gradient = +// +// 1.5 0.5000000 +// lambda = +// +// lower: [0,0] +// upper: [0,0] +// ineqlin: [9.089D-09,4.842D-08,6.059D-09,6.324D-09,2.0000001,3.637D-09] +// eqlin: 0.5000000 +// ineqnonlin: [0x0 constant] +// eqnonlin: [0x0 constant] +// output = +// +// Iterations: 8 +// Cpu_Time: 0.092 +// Objective_Evaluation: 9 +// Dual_Infeasibility: 1.869D-11 +// exitflag = +// +// 0 +// fopt = +// +// 0.6250000 +// xopt = +// +// 0.7500000 +// 0.25 + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b,Aeq,beq) diff --git a/tests/general_tests/fmincon/fmincon_logical3.sce b/tests/general_tests/fmincon/fmincon_logical3.sce new file mode 100644 index 0000000..9c56f7b --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_logical3.sce @@ -0,0 +1,49 @@ +// Example with objective function, equality, inequality constraints and variable bounds + +function y=fun(x) +y=x(1)*x(1)+x(2)*x(2); +endfunction + +x0 = [1,2]; +A=[1,1 ; 1,1/4 ; 1,-1 ; -1/4,-1 ; -1,-1 ; -1,1]; +b=[2;1;2;1;-1;2]; +Aeq = [1,3] +beq= [5] +lb = [0 0] +ub = [2 1.5] + +//Output +//Optimal Solution Found. +// hessian = +// +// 2. 0. +// 0. 2. +// gradient = +// +// 0.9999999 3. +// lambda = +// +// lower: [1.820D-08,6.060D-09] +// upper: [6.059D-09,0.7267088] +// ineqlin: [0.3633544,7.251D-08,3.030D-09,3.463D-09,9.093D-09,9.096D-09] +// eqlin: -1.3633544 +// ineqnonlin: [0x0 constant] +// eqnonlin: [0x0 constant] +// output = +// +// Iterations: 21 +// Cpu_Time: 0.2 +// Objective_Evaluation: 26 +// Dual_Infeasibility: 9.075D-11 +// exitflag = +// +// 0 +// fopt = +// +// 2.5 +// xopt = +// +// 0.5000000 +// 1.5 + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub) diff --git a/tests/general_tests/fmincon/fmincon_logical4.sce b/tests/general_tests/fmincon/fmincon_logical4.sce new file mode 100644 index 0000000..31221c8 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_logical4.sce @@ -0,0 +1,54 @@ +// Example with objective function, equality, inequality constraints, variable bounds and non linear function + +function y=fun(x) +y=x(1)*x(1)+x(2)*x(2); +endfunction + +x0 = [1,2]; +A=[1,1 ; 1,1/4 ; 1,-1 ; -1/4,-1 ; -1,-1 ; -1,1]; +b=[2;1;2;1;-1;2]; +Aeq = [1,3] +beq= [5] +lb = [0 0] +ub = [2 1.5] + +function [c,ceq]=nlc(x) +c = [x(1)^2 - x(2)^2 + 0.5 , x(1)^2 + x(2)^2 - 2.5]; +ceq = []; +endfunction + +//Output +//Optimal Solution Found. +// hessian = +// +// 3970695.7 3.311D-10 +// 3.311D-10 3970695.5 +// gradient = +// +// 1.0000000 3. +// lambda = +// +// lower: [1.818D-08,6.061D-09] +// upper: [6.061D-09,0.7272728] +// ineqlin: [0.3636363,7.273D-08,3.030D-09,3.463D-09,9.091D-09,9.091D-09] +// eqlin: -2.2698905 +// ineqnonlin: [6.061D-09,0.9062541] +// eqnonlin: [0x0 constant] +// output = +// +// Iterations: 20 +// Cpu_Time: 0.4 +// Objective_Evaluation: 23 +// Dual_Infeasibility: 5.171D-09 +// exitflag = +// +// 0 +// fopt = +// +// 2.5 +// xopt = +// +// 0.5000000 +// 1.5 + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub,nlc) diff --git a/tests/general_tests/fmincon/fmincon_logical5.sce b/tests/general_tests/fmincon/fmincon_logical5.sce new file mode 100644 index 0000000..dbba29a --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_logical5.sce @@ -0,0 +1,56 @@ +// Example with objective function, equality, inequality constraints, variable bounds, non linear function and options + +function y=fun(x) +y=x(1)*x(1)+x(2)*x(2); +endfunction + +x0 = [1,2]; +A=[1,1 ; 1,1/4 ; 1,-1 ; -1/4,-1 ; -1,-1 ; -1,1]; +b=[2;1;2;1;-1;2]; +Aeq = [1,3] +beq= [5] +lb = [0 0] +ub = [2 1.5] + +function [c,ceq]=nlc(x) +c = [x(1)^2 - x(2)^2 + 0.5 , x(1)^2 + x(2)^2 - 2.5]; +ceq = []; +endfunction + +options = list("MaxIter", [1500], "CpuTime", [500]) + +//Output +//Optimal Solution Found. +// hessian = +// +// 3970695.7 3.311D-10 +// 3.311D-10 3970695.5 +// gradient = +// +// 1.0000000 3. +// lambda = +// +// lower: [1.818D-08,6.061D-09] +// upper: [6.061D-09,0.7272728] +// ineqlin: [0.3636363,7.273D-08,3.030D-09,3.463D-09,9.091D-09,9.091D-09] +// eqlin: -2.2698905 +// ineqnonlin: [6.061D-09,0.9062541] +// eqnonlin: [0x0 constant] +// output = +// +// Iterations: 20 +// Cpu_Time: 0.4 +// Objective_Evaluation: 23 +// Dual_Infeasibility: 5.171D-09 +// exitflag = +// +// 0 +// fopt = +// +// 2.5 +// xopt = +// +// 0.5000000 +// 1.5 + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub, nlc, options) diff --git a/tests/general_tests/fmincon/fmincon_logical6.sce b/tests/general_tests/fmincon/fmincon_logical6.sce new file mode 100644 index 0000000..b99cca1 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_logical6.sce @@ -0,0 +1,45 @@ +// Example with objective function using sinusoidal functions + +function y=fun(x) +y=sin(x(1))+cos(x(2)); +endfunction + +x0 = [1,2]; +A=[1,1 ; 1,1/4 ; 1,-1 ; -1/4,-1 ; -1,-1 ; -1,1]; +b=[2;1;2;1;-1;2]; + +//Output +//Optimal Solution Found. +// hessian = +// +// 0.2129952 0. +// 0. 0.2129198 +// gradient = +// +// 0.9770613 - 0.9770613 +// lambda = +// +// lower: [0,0] +// upper: [0,0] +// ineqlin: [2.270D-08,1.202D-08,2.272D-09,3.316D-09,1.571D-08,0.9770613] +// eqlin: [0x0 constant] +// ineqnonlin: [0x0 constant] +// eqnonlin: [0x0 constant] +// output = +// +// Iterations: 12 +// Cpu_Time: 0.132 +// Objective_Evaluation: 15 +// Dual_Infeasibility: 7.674D-10 +// exitflag = +// +// 0 +// fopt = +// +// - 0.4259168 +// xopt = +// +// - 0.2146019 +// 1.7853981 + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b) diff --git a/tests/general_tests/fmincon/fmincon_logical7.sce b/tests/general_tests/fmincon/fmincon_logical7.sce new file mode 100644 index 0000000..48d83b4 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_logical7.sce @@ -0,0 +1,45 @@ +// Example with objective function using exponential input + +function y=fun(x) +y=exp(x(2)*x(1)); +endfunction + +x0 = [1,2]; +A=[1,1 ; 1,1/4]; +b=[2;1]; + +//Output +//Optimal Solution Found. +// hessian = +// +// 0.0000010 - 0.0000007 +// - 0.0000007 0.0000005 +// gradient = +// +// 7.127D-08 - 5.690D-08 +// lambda = +// +// lower: [0,0] +// upper: [0,0] +// ineqlin: [6.963D-09,2.501D-09] +// eqlin: [0x0 constant] +// ineqnonlin: [0x0 constant] +// eqnonlin: [0x0 constant] +// output = +// +// Iterations: 15 +// Cpu_Time: 0.132 +// Objective_Evaluation: 16 +// Dual_Infeasibility: 8.073D-08 +// exitflag = +// +// 0 +// fopt = +// +// 1.500D-08 +// xopt = +// +// - 3.7925137 +// 4.7501487 + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b) diff --git a/tests/general_tests/fmincon/fmincon_logical8.sce b/tests/general_tests/fmincon/fmincon_logical8.sce new file mode 100644 index 0000000..7e24211 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_logical8.sce @@ -0,0 +1,60 @@ +// Example where user provides gradient of the objective function + +function y=fun(x) +y=x(1)*x(1)+x(2)*x(2); +endfunction + +function y= fGrad(x) +y= [2*x(1),2*x(2)]; +endfunction + +x0 = [1,2]; +A=[1,1 ; 1,1/4 ; 1,-1 ; -1/4,-1 ; -1,-1 ; -1,1]; +b=[2;1;2;1;-1;2]; +Aeq = [1,3] +beq= [5] +lb = [0 0] +ub = [2 1.5] + +function [c,ceq]=nlc(x) +c = [x(1)^2 - x(2)^2 + 0.5 , x(1)^2 + x(2)^2 - 2.5]; +ceq = []; +endfunction + +options = list("MaxIter", [150], "CpuTime", [500], "GradObj", fGrad) + +//Output +//Optimal Solution Found. +// hessian = +// +// 3970695.6 3.311D-10 +// 3.311D-10 3970695.4 +// gradient = +// +// 1.0000000 3. +// lambda = +// +// lower: [1.818D-08,6.061D-09] +// upper: [6.061D-09,0.7272728] +// ineqlin: [0.3636363,7.273D-08,3.030D-09,3.463D-09,9.091D-09,9.091D-09] +// eqlin: -2.2698905 +// ineqnonlin: [6.061D-09,0.9062542] +// eqnonlin: [0x0 constant] +// output = +// +// Iterations: 20 +// Cpu_Time: 0.852 +// Objective_Evaluation: 23 +// Dual_Infeasibility: 1.884D-09 +// exitflag = +// +// 0 +// fopt = +// +// 2.5 +// xopt = +// +// 0.5000000 +// 1.5 + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub, nlc, options) diff --git a/tests/general_tests/fmincon/fmincon_logical9.sce b/tests/general_tests/fmincon/fmincon_logical9.sce new file mode 100644 index 0000000..129601b --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_logical9.sce @@ -0,0 +1,63 @@ +// Example where user provides gradient of the constraints + +function y=fun(x) +y=x(1)*x(1)+x(2)*x(2); +endfunction + +x0 = [1,2]; +A=[1,1 ; 1,1/4 ; 1,-1 ; -1/4,-1 ; -1,-1 ; -1,1]; +b=[2;1;2;1;-1;2]; +Aeq = [1,3] +beq= [5] +lb = [0 0] +ub = [2 1.5] + +function [c,ceq]=nlc(x) +c = [x(1)^2 - x(2)^2 + 0.5 , x(1)^2 + x(2)^2 - 2.5]; +ceq = []; +endfunction + +//Gradient of Non-Linear Constraints +function [cg,ceqg] = cGrad(x) +cg=[2*x(1) , -2*x(2); 2*x(1) , 2*x(2)]; +ceqg=[]; +endfunction + +options = list("MaxIter", [150], "CpuTime", [500], "GradCon", cGrad) + +//Output +//Optimal Solution Found. +// hessian = +// +// 3353468.3 3.95D-323 +// 0. 0. +// gradient = +// +// 1.0000000 3. +// lambda = +// +// lower: [1.818D-08,6.061D-09] +// upper: [6.061D-09,0.6917463] +// ineqlin: [0.3458731,7.273D-08,3.030D-09,3.463D-09,9.091D-09,9.091D-09] +// eqlin: -2.2520096 +// ineqnonlin: [6.061D-09,0.9061364] +// eqnonlin: [0x0 constant] +// output = +// +// Iterations: 20 +// Cpu_Time: 0.34 +// Objective_Evaluation: 23 +// Dual_Infeasibility: 2.793D-09 +// Message: "Optimal Solution Found" +// exitflag = +// +// 0 +// fopt = +// +// 2.5 +// xopt = +// +// 0.5000000 +// 1.5 + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub, nlc, options) diff --git a/tests/general_tests/fmincon/fmincon_maxiter.sce b/tests/general_tests/fmincon/fmincon_maxiter.sce new file mode 100644 index 0000000..57d46b6 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_maxiter.sce @@ -0,0 +1,56 @@ +// Example where maxiter exceeds the preset value + +function y=fun(x) +y=x(1)*x(1)+x(2)*x(2); +endfunction + +x0 = [1,2]; +A=[1,1 ; 1,1/4 ; 1,-1 ; -1/4,-1 ; -1,-1 ; -1,1]; +b=[2;1;2;1;-1;2]; +Aeq = [1,3] +beq= [5] +lb = [0 0] +ub = [2 1.5] + +function [c,ceq]=nlc(x) +c = [x(1)^2 - x(2)^2 + 0.5 , x(1)^2 + x(2)^2 - 2.5]; +ceq = []; +endfunction + +options = list("MaxIter", [15], "CpuTime", [500]) + +//Output +//Maximum Number of Iterations Exceeded. Output may not be optimal. +// hessian = +// +// 335.44736 0. +// 0. 335.18088 +// gradient = +// +// 1.0000122 2.9999999 +// lambda = +// +// lower: [0.1999999,0.0666667] +// upper: [0.0666667,1803365.5] +// ineqlin: [486161.41,0.7135096,0.0332561,0.0381089,0.1000596,0.1000605] +// eqlin: -486461.97 +// ineqnonlin: [0.0666348,299.08034] +// eqnonlin: [0x0 constant] +// output = +// +// Iterations: 15 +// Cpu_Time: 0.252 +// Objective_Evaluation: 17 +// Dual_Infeasibility: 831041.12 +// exitflag = +// +// 1 +// fopt = +// +// 2.500006 +// xopt = +// +// 0.5000061 +// 1.5 + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub, nlc, options) diff --git a/tests/general_tests/fmincon/fmincon_ub1.sce b/tests/general_tests/fmincon/fmincon_ub1.sce new file mode 100644 index 0000000..acbe99a --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_ub1.sce @@ -0,0 +1,24 @@ + +//Check if upper bound is a vector + +function y=fun(x) +y=x(1)+x(2); +endfunction + +x0 = [1,2]; +A = [3,4]; +b = [7]; +Aeq = []; +beq = []; +lb = [2,4]; +ub = [3,4;7,2]; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: Upper Bound (8th Parameter) should be a vector +//at line 445 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub); +//at line 24 of exec file called by : +//exec fmincon_ub1.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub); diff --git a/tests/general_tests/fmincon/fmincon_ub2.sce b/tests/general_tests/fmincon/fmincon_ub2.sce new file mode 100644 index 0000000..dc4d790 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_ub2.sce @@ -0,0 +1,24 @@ + +//Check if upper bound is row vector of correct dimensions + +function y=fun(x) +y=x(1)+x(2); +endfunction + +x0 = [1,2]; +A = [3,4]; +b = [7]; +Aeq = []; +beq = []; +lb = [2,4]; +ub = [3,4,7]; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: Expected Row Vector (1 X number of Variables) for upper bound (8th Parameter) +//at line 453 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub); +//at line 24 of exec file called by : +//exec fmincon_ub2.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub); diff --git a/tests/general_tests/fmincon/fmincon_ub3.sce b/tests/general_tests/fmincon/fmincon_ub3.sce new file mode 100644 index 0000000..034abc7 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_ub3.sce @@ -0,0 +1,24 @@ + +//Check if lower bound is column vector of correct dimensions + +function y=fun(x) +y=x(1)+x(2); +endfunction + +x0 = [1,2]; +A = [3,4]; +b = [7]; +Aeq = []; +beq = []; +lb = [2,4]; +ub = [3;4;7]; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: Expected Column Vector (number of Variables X 1) for upper bound (8th Parameter) +//at line 448 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub); +//at line 24 of exec file called by : +//exec fmincon_ub3.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub); diff --git a/tests/general_tests/fmincon/fmincon_ub4.sce b/tests/general_tests/fmincon/fmincon_ub4.sce new file mode 100644 index 0000000..26dc579 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_ub4.sce @@ -0,0 +1,24 @@ + +//Check if upper bound is not -infinity + +function y=fun(x) +y=x(1)+x(2); +endfunction + +x0 = [1,2]; +A = [3,4]; +b = [7]; +Aeq = []; +beq = []; +lb = []; +ub = [-%inf,6]; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: Value of Upper Bound can not be negative infinity +//at line 467 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub); +//at line 24 of exec file called by : +//exec fmincon_ub4.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b, Aeq, beq, lb, ub); diff --git a/tests/general_tests/fmincon/fmincon_x0a.sce b/tests/general_tests/fmincon/fmincon_x0a.sce new file mode 100644 index 0000000..68bf5f1 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_x0a.sce @@ -0,0 +1,20 @@ + +// Check if a user specifies a starting point or not + +function y=fun(x) +y=x(1)+x(2); +endfunction + +x0 = []; +A = [3,4]; +b = [7,9]; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: Expected Row Vector or Column Vector for x0 (Starting Point) or Starting Point cannot be Empty +//at line 305 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b); +//at line 20 of exec file called by : +//exec fmincon_x0a.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b); diff --git a/tests/general_tests/fmincon/fmincon_x0b.sce b/tests/general_tests/fmincon/fmincon_x0b.sce new file mode 100644 index 0000000..2b72f92 --- /dev/null +++ b/tests/general_tests/fmincon/fmincon_x0b.sce @@ -0,0 +1,20 @@ + +// Check if a user specifies a starting point of the correct dimensions with respect to the objective function + +function y=fun(x) +y=x(1)+x(2); +endfunction + +x0 = [1]; +A = [3,4]; +b = [7,9]; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fmincon: Objective function and x0 did not match +//at line 318 of function fmincon called by : +//[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b); +//at line 20 of exec file called by : +//exec fmincon_x0b.sce + +[xopt,fopt,exitflag,output,lambda,gradient,hessian] = fmincon (fun, x0, A, b); diff --git a/tests/general_tests/fminunc/fminunc_f.sce b/tests/general_tests/fminunc/fminunc_f.sce new file mode 100644 index 0000000..7fd0e2c --- /dev/null +++ b/tests/general_tests/fminunc/fminunc_f.sce @@ -0,0 +1,15 @@ +//Find x in R^6 such that: +// Check if a user specifies function or not + +fun = []; +x0 = [1,2,3,4,5,6]; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fminbnd: Expected function for Objective (1st Parameter) +//at line 150 of function fminbnd called by : +//[xopt,fopt,exitflag,output,lambda] = fminbnd (fun, lb, ub, options); + + +[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); + diff --git a/tests/general_tests/fminunc/fminunc_gradient1.sce b/tests/general_tests/fminunc/fminunc_gradient1.sce new file mode 100644 index 0000000..214ff89 --- /dev/null +++ b/tests/general_tests/fminunc/fminunc_gradient1.sce @@ -0,0 +1,15 @@ +//Find x in R^2 such that: +// Check if a user specifies correct options or not + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x0 = [1,2]; +options=list("MaxIter", [1000], "CpuTime", [100], "Gradient", "OFn", "Hessian", "OFF"); + +//Error +//fminunc: Unrecognized String [OFn] entered for the option- Gradient. +//at line 278 of function fminunc called by : +//[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); + +[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); diff --git a/tests/general_tests/fminunc/fminunc_gradient2.sce b/tests/general_tests/fminunc/fminunc_gradient2.sce new file mode 100644 index 0000000..5c1c3d3 --- /dev/null +++ b/tests/general_tests/fminunc/fminunc_gradient2.sce @@ -0,0 +1,15 @@ +//Find x in R^2 such that: +// Check if a user specifies correct options or not + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x0 = [1,2]; +options=list("MaxIter", [1000], "CpuTime", [100], "Gradient", "", "Hessian", "OFF"); + +//Error +//fminunc: Unrecognized String [] entered for the option- Gradient. +//at line 278 of function fminunc called by : +//[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); + +[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); diff --git a/tests/general_tests/fminunc/fminunc_gradient3.sce b/tests/general_tests/fminunc/fminunc_gradient3.sce new file mode 100644 index 0000000..f35f7f1 --- /dev/null +++ b/tests/general_tests/fminunc/fminunc_gradient3.sce @@ -0,0 +1,16 @@ +//Find x in R^2 such that: +// Check if a user specifies correct options or not + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x0 = [1,2]; +grad = []; +options=list("MaxIter", [1000], "CpuTime", [100], "Gradient", grad, "Hessian", "OFF"); + +//Error +//fminunc: Expected function for Gradient of Objective +//at line 306 of function fminunc called by : +//[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); + +[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); diff --git a/tests/general_tests/fminunc/fminunc_gradient4.sce b/tests/general_tests/fminunc/fminunc_gradient4.sce new file mode 100644 index 0000000..3a6a716 --- /dev/null +++ b/tests/general_tests/fminunc/fminunc_gradient4.sce @@ -0,0 +1,20 @@ +//Find x in R^2 such that: +// Check if a user specifies correct options or not + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x0 = [1,2]; +function y = grad(x) + y=[2*x(1)]; +endfunction +options=list("MaxIter", [1000], "CpuTime", [100], "Gradient", grad, "Hessian", "OFF"); + +//Error +//fminunc: Expected function for Hessian of Objective +//at line 313 of function fminunc called by : +//[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); +//at line 20 of exec file called by : +//exec fminunc_gradient4.sce + +[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); diff --git a/tests/general_tests/fminunc/fminunc_hessian1.sce b/tests/general_tests/fminunc/fminunc_hessian1.sce new file mode 100644 index 0000000..a8ba79b --- /dev/null +++ b/tests/general_tests/fminunc/fminunc_hessian1.sce @@ -0,0 +1,16 @@ +//Find x in R^2 such that: +// Check if a user specifies correct options for hessian + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x0 = [1,2]; +options=list("MaxIter", [1000], "CpuTime", [100], "Gradient", "OFF", "Hessian", "OFn"); + +//Error +//fminunc: Unrecognized String [OFn] entered for the option- Hessian. +//at line 290 of function fminunc called by : +//[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); + + +[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); diff --git a/tests/general_tests/fminunc/fminunc_hessian2.sce b/tests/general_tests/fminunc/fminunc_hessian2.sce new file mode 100644 index 0000000..99fd6c1 --- /dev/null +++ b/tests/general_tests/fminunc/fminunc_hessian2.sce @@ -0,0 +1,15 @@ +//Find x in R^2 such that: +// Check if a user specifies correct options for hessian + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x0 = [1,2]; +options=list("MaxIter", [1000], "CpuTime", [100], "Gradient", "OFf", "Hessian", ""); + +//Error +//fminunc: Unrecognized String [] entered for the option- Hessian. +//at line 290 of function fminunc called by : +//[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); + +[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); diff --git a/tests/general_tests/fminunc/fminunc_hessian3.sce b/tests/general_tests/fminunc/fminunc_hessian3.sce new file mode 100644 index 0000000..7a1e625 --- /dev/null +++ b/tests/general_tests/fminunc/fminunc_hessian3.sce @@ -0,0 +1,16 @@ +//Find x in R^2 such that: +// Check if a user specifies correct options for hessian + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x0 = [1,2]; +hess = []; +options=list("MaxIter", [1000], "CpuTime", [100], "Hessian", hess); + +//Error +//fminunc: Expected function for Hessian of Objective +//at line 341 of function fminunc called by : +//[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); + +[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); diff --git a/tests/general_tests/fminunc/fminunc_hessian4.sce b/tests/general_tests/fminunc/fminunc_hessian4.sce new file mode 100644 index 0000000..47ce1c4 --- /dev/null +++ b/tests/general_tests/fminunc/fminunc_hessian4.sce @@ -0,0 +1,19 @@ +//Find x in R^2 such that: +// Check if a user specifies correct options for hessian + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x0 = [1,2]; +function y = hess(x) + y=[2,0]; +endfunction +options=list("MaxIter", [1000], "CpuTime", [100], "Gradient", "OFF", "Hessian", hess); + +//Error +//fminunc: Wrong Input for Objective Hessian function(3rd Parameter)---->Symmetric Matrix function of size [2 X 2] is Expected +//at line 353 of function fminunc called by : +//[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); + + +[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); diff --git a/tests/general_tests/fminunc/fminunc_logical1.sce b/tests/general_tests/fminunc/fminunc_logical1.sce new file mode 100644 index 0000000..54c4d7f --- /dev/null +++ b/tests/general_tests/fminunc/fminunc_logical1.sce @@ -0,0 +1,35 @@ +//Find x in R^2 such that: +// An Unbounded Example + +function y = fun(x) + y = -(x(1)^2 + x(2)^2); +endfunction +x0 = [1,2]; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Output +// +//Iterates diverging; problem might be unbounded. +// hessian = +// +// [] +// gradient = +// +// [] +// output = +// +// Iterations: 65 +// Cpu_Time: 0.112 +// Message: "Iterates diverging; problem might be unbounded" +// exitflag = +// +// 8 +// fopt = +// +// [] +// xopt = +// +// [] + +[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options) + diff --git a/tests/general_tests/fminunc/fminunc_logical2.sce b/tests/general_tests/fminunc/fminunc_logical2.sce new file mode 100644 index 0000000..27d6cdd --- /dev/null +++ b/tests/general_tests/fminunc/fminunc_logical2.sce @@ -0,0 +1,35 @@ +//Find x in R^2 such that: +// An Infeasible Example (Solver will show this as "Regularization becomes too large") + +function y = fun(x) + y = log(x); +endfunction +x0 = [1]; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Output +// +//Error in step computation (regularization becomes too large?)! +// hessian = +// +// [] +// gradient = +// +// [] +// output = +// +// Iterations: 26 +// Cpu_Time: 0.044 +// Message: "Error in step computation (regularization becomes too large?)!" +// exitflag = +// +// 10 +// fopt = +// +// [] +// xopt = +// +// [] + +[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options) + diff --git a/tests/general_tests/fminunc/fminunc_logical3.sce b/tests/general_tests/fminunc/fminunc_logical3.sce new file mode 100644 index 0000000..15ea3ad --- /dev/null +++ b/tests/general_tests/fminunc/fminunc_logical3.sce @@ -0,0 +1,42 @@ +//Find x in R^2 such that: +// An Example which results in exceeding Maximum Iterations + +function y = fun(x) + y = (x(1)-x(2))^2 + x(1); +endfunction +x0 = [1,2]; +options=list("MaxIter", [1000], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Output +// +//Maximum Number of Iterations Exceeded. Output may not be optimal. +// hessian = +// +// 2. - 2. +// - 2. 2. +// gradient = +// +// 0.9999885 0. +// output = +// +// Iterations: 1000 +// Cpu_Time: 2.112 +// Objective_Evaluation: 1001 +// Dual_Infeasibility: 0.9999885 +// Message: "Maximum Number of Iterations Exceeded. Output may not be optimal" +// exitflag = +// +// 1 +// fopt = +// +// - 1.050D+18 +// xopt = +// +// 10^18 * +// +// - 1.0497354 +// - 1.0497354 + + +[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options) + diff --git a/tests/general_tests/fminunc/fminunc_logical4.sce b/tests/general_tests/fminunc/fminunc_logical4.sce new file mode 100644 index 0000000..60d75c5 --- /dev/null +++ b/tests/general_tests/fminunc/fminunc_logical4.sce @@ -0,0 +1,42 @@ +//Find x in R^2 such that: +// An Example which results in exceeding Maximum CPU-Time + +function y = fun(x) + y = (x(1)-x(2))^2 + x(1); +endfunction +x0 = [1,2]; +options=list("MaxIter", [1000], "CpuTime", [1.5], "Gradient", "OFF", "Hessian", "OFF"); + +//Output +// +//Maximum CPU Time exceeded. Output may not be optimal. +// hessian = +// +// 2. - 2. +// - 2. 2. +// gradient = +// +// 0.9998408 0. +// output = +// +// Iterations: 732 +// Cpu_Time: 1.504 +// Objective_Evaluation: 733 +// Dual_Infeasibility: 0.9998408 +// Message: "Maximum CPU Time exceeded. Output may not be optimal" +// exitflag = +// +// 2 +// fopt = +// +// 0. +// xopt = +// +// 10^17 * +// +// - 7.6897384 +// - 7.6897384 + + +[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options) + diff --git a/tests/general_tests/fminunc/fminunc_options1.sce b/tests/general_tests/fminunc/fminunc_options1.sce new file mode 100644 index 0000000..eb939d5 --- /dev/null +++ b/tests/general_tests/fminunc/fminunc_options1.sce @@ -0,0 +1,16 @@ +//Find x in R^2 such that: +// Check if a user specifies correct options or not + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x0 = [1,2]; +options=list("MaxIter", "", "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fminunc: Value for Maximum Iteration should be a Constant +//at line 261 of function fminunc called by : +//[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); + +[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); + diff --git a/tests/general_tests/fminunc/fminunc_options2.sce b/tests/general_tests/fminunc/fminunc_options2.sce new file mode 100644 index 0000000..1cf09ef --- /dev/null +++ b/tests/general_tests/fminunc/fminunc_options2.sce @@ -0,0 +1,16 @@ +//Find x in R^2 such that: +// Check if a user specifies correct options or not + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x0 = [1,2]; +options=list("MaxIter", [1000], "CpuTime", , "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fminunc: Value for Maximum Cpu-time should be a Constant +//at line 268 of function fminunc called by : +//[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); + +[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); + diff --git a/tests/general_tests/fminunc/fminunc_x0a.sce b/tests/general_tests/fminunc/fminunc_x0a.sce new file mode 100644 index 0000000..e71b455 --- /dev/null +++ b/tests/general_tests/fminunc/fminunc_x0a.sce @@ -0,0 +1,16 @@ +//Find x in R^2 such that: +// Check if a user specifies correct initial guess or not + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x0 = []; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fminunc: Expected Row Vector or Column Vector for x0 (Initial Value) +//at line 160 of function fminunc called by : +//[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); + +[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); + diff --git a/tests/general_tests/fminunc/fminunc_x0b.sce b/tests/general_tests/fminunc/fminunc_x0b.sce new file mode 100644 index 0000000..a08b458 --- /dev/null +++ b/tests/general_tests/fminunc/fminunc_x0b.sce @@ -0,0 +1,16 @@ +//Find x in R^2 such that: +// Check if a user specifies correct initial guess or not + +function y = fun(x) + y = x(1)^2 + x(2)^2; +endfunction +x0 = [1]; +options=list("MaxIter", [1500], "CpuTime", [500], "Gradient", "OFF", "Hessian", "OFF"); + +//Error +//fminunc: Objective function and x0 did not match +//at line 174 of function fminunc called by : +//[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); + +[xopt,fopt,exitflag,output,gradient,hessian] = fminunc (fun, x0, options); + diff --git a/thirdparty/linux/lib/x64/libCgl.la b/thirdparty/linux/lib/x64/libCgl.la deleted file mode 100755 index 77507e6..0000000 --- a/thirdparty/linux/lib/x64/libCgl.la +++ /dev/null @@ -1,35 +0,0 @@ -# libCgl.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libCgl.so.1' - -# Names of this library. -library_names='libCgl.so.1.9.4 libCgl.so.1 libCgl.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libOsiClp.la /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libClpSolver.la /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libClp.la /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libOsi.la /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libCoinUtils.la' - -# Version information for libCgl. -current=10 -age=9 -revision=4 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib' diff --git a/thirdparty/linux/lib/x64/libClp.la b/thirdparty/linux/lib/x64/libClp.la deleted file mode 100755 index 20c88dd..0000000 --- a/thirdparty/linux/lib/x64/libClp.la +++ /dev/null @@ -1,35 +0,0 @@ -# libClp.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libClp.so.1' - -# Names of this library. -library_names='libClp.so.1.13.6 libClp.so.1 libClp.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libCoinUtils.la' - -# Version information for libClp. -current=14 -age=13 -revision=6 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib' diff --git a/thirdparty/linux/lib/x64/libClpSolver.la b/thirdparty/linux/lib/x64/libClpSolver.la deleted file mode 100755 index 6d24542..0000000 --- a/thirdparty/linux/lib/x64/libClpSolver.la +++ /dev/null @@ -1,35 +0,0 @@ -# libClpSolver.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libClpSolver.so.1' - -# Names of this library. -library_names='libClpSolver.so.1.13.6 libClpSolver.so.1 libClpSolver.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libClp.la /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libCoinUtils.la' - -# Version information for libClpSolver. -current=14 -age=13 -revision=6 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib' diff --git a/thirdparty/linux/lib/x64/libCoinUtils.la b/thirdparty/linux/lib/x64/libCoinUtils.la deleted file mode 100755 index 5760a8d..0000000 --- a/thirdparty/linux/lib/x64/libCoinUtils.la +++ /dev/null @@ -1,35 +0,0 @@ -# libCoinUtils.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libCoinUtils.so.3' - -# Names of this library. -library_names='libCoinUtils.so.3.10.6 libCoinUtils.so.3 libCoinUtils.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs='' - -# Version information for libCoinUtils. -current=13 -age=10 -revision=6 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib' diff --git a/thirdparty/linux/lib/x64/libOsi.la b/thirdparty/linux/lib/x64/libOsi.la deleted file mode 100755 index 9f9aa3d..0000000 --- a/thirdparty/linux/lib/x64/libOsi.la +++ /dev/null @@ -1,35 +0,0 @@ -# libOsi.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libOsi.so.1' - -# Names of this library. -library_names='libOsi.so.1.12.4 libOsi.so.1 libOsi.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libCoinUtils.la' - -# Version information for libOsi. -current=13 -age=12 -revision=4 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib' diff --git a/thirdparty/linux/lib/x64/libOsiClp.la b/thirdparty/linux/lib/x64/libOsiClp.la deleted file mode 100755 index 55f6198..0000000 --- a/thirdparty/linux/lib/x64/libOsiClp.la +++ /dev/null @@ -1,35 +0,0 @@ -# libOsiClp.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libOsiClp.so.1' - -# Names of this library. -library_names='libOsiClp.so.1.13.6 libOsiClp.so.1 libOsiClp.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libOsi.la /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libClp.la /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libCoinUtils.la' - -# Version information for libOsiClp. -current=14 -age=13 -revision=6 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib' diff --git a/thirdparty/linux/lib/x64/libOsiCommonTests.la b/thirdparty/linux/lib/x64/libOsiCommonTests.la deleted file mode 100755 index 5df7087..0000000 --- a/thirdparty/linux/lib/x64/libOsiCommonTests.la +++ /dev/null @@ -1,35 +0,0 @@ -# libOsiCommonTests.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libOsiCommonTests.so.1' - -# Names of this library. -library_names='libOsiCommonTests.so.1.12.4 libOsiCommonTests.so.1 libOsiCommonTests.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libOsi.la /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libCoinUtils.la' - -# Version information for libOsiCommonTests. -current=13 -age=12 -revision=4 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib' diff --git a/thirdparty/linux/lib/x64/libOsiSym.la b/thirdparty/linux/lib/x64/libOsiSym.la deleted file mode 100755 index a55abff..0000000 --- a/thirdparty/linux/lib/x64/libOsiSym.la +++ /dev/null @@ -1,35 +0,0 @@ -# libOsiSym.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libOsiSym.so.3' - -# Names of this library. -library_names='libOsiSym.so.3.6.10 libOsiSym.so.3 libOsiSym.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libSym.la /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libCgl.la /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libOsiClp.la /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libClpSolver.la /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libClp.la /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libOsi.la /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libCoinUtils.la' - -# Version information for libOsiSym. -current=9 -age=6 -revision=10 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib' diff --git a/thirdparty/linux/lib/x64/libSym.la b/thirdparty/linux/lib/x64/libSym.la deleted file mode 100755 index ba9cc4b..0000000 --- a/thirdparty/linux/lib/x64/libSym.la +++ /dev/null @@ -1,35 +0,0 @@ -# libSym.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libSym.so.3' - -# Names of this library. -library_names='libSym.so.3.6.10 libSym.so.3 libSym.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libCgl.la /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libOsiClp.la /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libClpSolver.la /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libClp.la /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libOsi.la /home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib/libCoinUtils.la' - -# Version information for libSym. -current=9 -age=6 -revision=10 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/harpreet/symphony_work/SYMPHONY-5.6.10/build-debug/lib' diff --git a/thirdparty/linux/lib/x64/libcoinblas.la b/thirdparty/linux/lib/x64/libcoinblas.la deleted file mode 100755 index 10b255e..0000000 --- a/thirdparty/linux/lib/x64/libcoinblas.la +++ /dev/null @@ -1,35 +0,0 @@ -# libcoinblas.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libcoinblas.so.1' - -# Names of this library. -library_names='libcoinblas.so.1.4.4 libcoinblas.so.1 libcoinblas.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs='' - -# Version information for libcoinblas. -current=5 -age=4 -revision=4 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/harpreet/Downloads/Ipopt-3.12.4/build/lib' diff --git a/thirdparty/linux/lib/x64/libcoinlapack.la b/thirdparty/linux/lib/x64/libcoinlapack.la deleted file mode 100755 index 8ba91df..0000000 --- a/thirdparty/linux/lib/x64/libcoinlapack.la +++ /dev/null @@ -1,35 +0,0 @@ -# libcoinlapack.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libcoinlapack.so.1' - -# Names of this library. -library_names='libcoinlapack.so.1.5.4 libcoinlapack.so.1 libcoinlapack.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/harpreet/Downloads/Ipopt-3.12.4/build/lib/libcoinblas.la -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. -lgfortran -lm -lquadmath' - -# Version information for libcoinlapack. -current=6 -age=5 -revision=4 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/harpreet/Downloads/Ipopt-3.12.4/build/lib' diff --git a/thirdparty/linux/lib/x64/libcoinmumps.la b/thirdparty/linux/lib/x64/libcoinmumps.la deleted file mode 100755 index e64fd30..0000000 --- a/thirdparty/linux/lib/x64/libcoinmumps.la +++ /dev/null @@ -1,35 +0,0 @@ -# libcoinmumps.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libcoinmumps.so.1' - -# Names of this library. -library_names='libcoinmumps.so.1.5.4 libcoinmumps.so.1 libcoinmumps.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/harpreet/Downloads/Ipopt-3.12.4/build/lib/libcoinblas.la -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. -L/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu -lgfortran -lm -lquadmath' - -# Version information for libcoinmumps. -current=6 -age=5 -revision=4 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/harpreet/Downloads/Ipopt-3.12.4/build/lib' diff --git a/thirdparty/linux/lib/x64/libipopt.la b/thirdparty/linux/lib/x64/libipopt.la deleted file mode 100755 index aebec3d..0000000 --- a/thirdparty/linux/lib/x64/libipopt.la +++ /dev/null @@ -1,35 +0,0 @@ -# libipopt.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libipopt.so.1' - -# Names of this library. -library_names='libipopt.so.1.10.4 libipopt.so.1 libipopt.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/harpreet/Downloads/Ipopt-3.12.4/build/lib/libcoinmumps.la /home/harpreet/Downloads/Ipopt-3.12.4/build/lib/libcoinlapack.la /home/harpreet/Downloads/Ipopt-3.12.4/build/lib/libcoinblas.la -lgfortran -lquadmath -ldl' - -# Version information for libipopt. -current=11 -age=10 -revision=4 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/harpreet/Downloads/Ipopt-3.12.4/build/lib' diff --git a/thirdparty/linux/lib/x86/libCgl.la b/thirdparty/linux/lib/x86/libCgl.la deleted file mode 100755 index 9b87221..0000000 --- a/thirdparty/linux/lib/x86/libCgl.la +++ /dev/null @@ -1,35 +0,0 @@ -# libCgl.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libCgl.so.1' - -# Names of this library. -library_names='libCgl.so.1.9.4 libCgl.so.1 libCgl.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/fossee/SYMPHONY-5.6.10/build/lib/libOsiClp.la /home/fossee/SYMPHONY-5.6.10/build/lib/libClpSolver.la /home/fossee/SYMPHONY-5.6.10/build/lib/libClp.la /home/fossee/SYMPHONY-5.6.10/build/lib/libOsi.la /home/fossee/SYMPHONY-5.6.10/build/lib/libCoinUtils.la' - -# Version information for libCgl. -current=10 -age=9 -revision=4 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/fossee/SYMPHONY-5.6.10/build/lib' diff --git a/thirdparty/linux/lib/x86/libClp.la b/thirdparty/linux/lib/x86/libClp.la deleted file mode 100755 index 41043c0..0000000 --- a/thirdparty/linux/lib/x86/libClp.la +++ /dev/null @@ -1,35 +0,0 @@ -# libClp.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libClp.so.1' - -# Names of this library. -library_names='libClp.so.1.13.6 libClp.so.1 libClp.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/fossee/SYMPHONY-5.6.10/build/lib/libCoinUtils.la' - -# Version information for libClp. -current=14 -age=13 -revision=6 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/fossee/SYMPHONY-5.6.10/build/lib' diff --git a/thirdparty/linux/lib/x86/libClpSolver.la b/thirdparty/linux/lib/x86/libClpSolver.la deleted file mode 100755 index c6ea9d2..0000000 --- a/thirdparty/linux/lib/x86/libClpSolver.la +++ /dev/null @@ -1,35 +0,0 @@ -# libClpSolver.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libClpSolver.so.1' - -# Names of this library. -library_names='libClpSolver.so.1.13.6 libClpSolver.so.1 libClpSolver.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/fossee/SYMPHONY-5.6.10/build/lib/libClp.la /home/fossee/SYMPHONY-5.6.10/build/lib/libCoinUtils.la' - -# Version information for libClpSolver. -current=14 -age=13 -revision=6 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/fossee/SYMPHONY-5.6.10/build/lib' diff --git a/thirdparty/linux/lib/x86/libCoinUtils.la b/thirdparty/linux/lib/x86/libCoinUtils.la deleted file mode 100755 index 7c63c02..0000000 --- a/thirdparty/linux/lib/x86/libCoinUtils.la +++ /dev/null @@ -1,35 +0,0 @@ -# libCoinUtils.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libCoinUtils.so.3' - -# Names of this library. -library_names='libCoinUtils.so.3.10.6 libCoinUtils.so.3 libCoinUtils.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs='' - -# Version information for libCoinUtils. -current=13 -age=10 -revision=6 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/fossee/SYMPHONY-5.6.10/build/lib' diff --git a/thirdparty/linux/lib/x86/libOsi.la b/thirdparty/linux/lib/x86/libOsi.la deleted file mode 100755 index 7d0e442..0000000 --- a/thirdparty/linux/lib/x86/libOsi.la +++ /dev/null @@ -1,35 +0,0 @@ -# libOsi.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libOsi.so.1' - -# Names of this library. -library_names='libOsi.so.1.12.4 libOsi.so.1 libOsi.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/fossee/SYMPHONY-5.6.10/build/lib/libCoinUtils.la' - -# Version information for libOsi. -current=13 -age=12 -revision=4 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/fossee/SYMPHONY-5.6.10/build/lib' diff --git a/thirdparty/linux/lib/x86/libOsiClp.la b/thirdparty/linux/lib/x86/libOsiClp.la deleted file mode 100755 index ac3e475..0000000 --- a/thirdparty/linux/lib/x86/libOsiClp.la +++ /dev/null @@ -1,35 +0,0 @@ -# libOsiClp.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libOsiClp.so.1' - -# Names of this library. -library_names='libOsiClp.so.1.13.6 libOsiClp.so.1 libOsiClp.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/fossee/SYMPHONY-5.6.10/build/lib/libOsi.la /home/fossee/SYMPHONY-5.6.10/build/lib/libClp.la /home/fossee/SYMPHONY-5.6.10/build/lib/libCoinUtils.la' - -# Version information for libOsiClp. -current=14 -age=13 -revision=6 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/fossee/SYMPHONY-5.6.10/build/lib' diff --git a/thirdparty/linux/lib/x86/libOsiCommonTests.la b/thirdparty/linux/lib/x86/libOsiCommonTests.la deleted file mode 100755 index 2e4e4e3..0000000 --- a/thirdparty/linux/lib/x86/libOsiCommonTests.la +++ /dev/null @@ -1,35 +0,0 @@ -# libOsiCommonTests.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libOsiCommonTests.so.1' - -# Names of this library. -library_names='libOsiCommonTests.so.1.12.4 libOsiCommonTests.so.1 libOsiCommonTests.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/fossee/SYMPHONY-5.6.10/build/lib/libOsi.la /home/fossee/SYMPHONY-5.6.10/build/lib/libCoinUtils.la' - -# Version information for libOsiCommonTests. -current=13 -age=12 -revision=4 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/fossee/SYMPHONY-5.6.10/build/lib' diff --git a/thirdparty/linux/lib/x86/libOsiSym.la b/thirdparty/linux/lib/x86/libOsiSym.la deleted file mode 100755 index d520e52..0000000 --- a/thirdparty/linux/lib/x86/libOsiSym.la +++ /dev/null @@ -1,35 +0,0 @@ -# libOsiSym.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libOsiSym.so.3' - -# Names of this library. -library_names='libOsiSym.so.3.6.10 libOsiSym.so.3 libOsiSym.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/fossee/SYMPHONY-5.6.10/build/lib/libSym.la /home/fossee/SYMPHONY-5.6.10/build/lib/libCgl.la /home/fossee/SYMPHONY-5.6.10/build/lib/libOsiClp.la /home/fossee/SYMPHONY-5.6.10/build/lib/libClpSolver.la /home/fossee/SYMPHONY-5.6.10/build/lib/libClp.la /home/fossee/SYMPHONY-5.6.10/build/lib/libOsi.la /home/fossee/SYMPHONY-5.6.10/build/lib/libCoinUtils.la' - -# Version information for libOsiSym. -current=9 -age=6 -revision=10 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/fossee/SYMPHONY-5.6.10/build/lib' diff --git a/thirdparty/linux/lib/x86/libSym.la b/thirdparty/linux/lib/x86/libSym.la deleted file mode 100755 index b20a336..0000000 --- a/thirdparty/linux/lib/x86/libSym.la +++ /dev/null @@ -1,35 +0,0 @@ -# libSym.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libSym.so.3' - -# Names of this library. -library_names='libSym.so.3.6.10 libSym.so.3 libSym.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/fossee/SYMPHONY-5.6.10/build/lib/libCgl.la /home/fossee/SYMPHONY-5.6.10/build/lib/libOsiClp.la /home/fossee/SYMPHONY-5.6.10/build/lib/libClpSolver.la /home/fossee/SYMPHONY-5.6.10/build/lib/libClp.la /home/fossee/SYMPHONY-5.6.10/build/lib/libOsi.la /home/fossee/SYMPHONY-5.6.10/build/lib/libCoinUtils.la' - -# Version information for libSym. -current=9 -age=6 -revision=10 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/fossee/SYMPHONY-5.6.10/build/lib' diff --git a/thirdparty/linux/lib/x86/libcoinblas.la b/thirdparty/linux/lib/x86/libcoinblas.la deleted file mode 100755 index 9386e57..0000000 --- a/thirdparty/linux/lib/x86/libcoinblas.la +++ /dev/null @@ -1,35 +0,0 @@ -# libcoinblas.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libcoinblas.so.1' - -# Names of this library. -library_names='libcoinblas.so.1.4.4 libcoinblas.so.1 libcoinblas.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs='' - -# Version information for libcoinblas. -current=5 -age=4 -revision=4 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/mushirahmed/Desktop/Ipopt-3.12.4/build32_ipopt/lib' diff --git a/thirdparty/linux/lib/x86/libcoinlapack.la b/thirdparty/linux/lib/x86/libcoinlapack.la deleted file mode 100755 index 8c9b979..0000000 --- a/thirdparty/linux/lib/x86/libcoinlapack.la +++ /dev/null @@ -1,35 +0,0 @@ -# libcoinlapack.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libcoinlapack.so.1' - -# Names of this library. -library_names='libcoinlapack.so.1.5.4 libcoinlapack.so.1 libcoinlapack.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' -lblas' - -# Version information for libcoinlapack. -current=6 -age=5 -revision=4 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/mushirahmed/Desktop/Ipopt-3.12.4/build32_ipopt/lib' diff --git a/thirdparty/linux/lib/x86/libcoinmumps.la b/thirdparty/linux/lib/x86/libcoinmumps.la deleted file mode 100755 index 944fd37..0000000 --- a/thirdparty/linux/lib/x86/libcoinmumps.la +++ /dev/null @@ -1,35 +0,0 @@ -# libcoinmumps.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libcoinmumps.so.1' - -# Names of this library. -library_names='libcoinmumps.so.1.5.4 libcoinmumps.so.1 libcoinmumps.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' -lblas -L/usr/lib/gcc/i686-linux-gnu/4.6 -L/usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu -L/usr/lib/gcc/i686-linux-gnu/4.6/../../../../lib -L/lib/i386-linux-gnu -L/lib/../lib -L/usr/lib/i386-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/i686-linux-gnu/4.6/../../.. -lgfortran -lm -lquadmath' - -# Version information for libcoinmumps. -current=6 -age=5 -revision=4 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/mushirahmed/Desktop/Ipopt-3.12.4/build32_ipopt/lib' diff --git a/thirdparty/linux/lib/x86/libipopt.la b/thirdparty/linux/lib/x86/libipopt.la deleted file mode 100755 index e7d4b76..0000000 --- a/thirdparty/linux/lib/x86/libipopt.la +++ /dev/null @@ -1,35 +0,0 @@ -# libipopt.la - a libtool library file -# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06) -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='libipopt.so.1' - -# Names of this library. -library_names='libipopt.so.1.10.4 libipopt.so.1 libipopt.so' - -# The name of the static archive. -old_library='' - -# Libraries that this one depends upon. -dependency_libs=' /home/mushirahmed/Desktop/Ipopt-3.12.4/build32_ipopt/lib/libcoinmumps.la -lgfortran -lquadmath -llapack -lblas -ldl' - -# Version information for libipopt. -current=11 -age=10 -revision=4 - -# Is this an already installed library? -installed=yes - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='/home/mushirahmed/Desktop/Ipopt-3.12.4/build32_ipopt/lib' diff --git a/unloader.sce b/unloader.sce new file mode 100644 index 0000000..8b09ac1 --- /dev/null +++ b/unloader.sce @@ -0,0 +1,14 @@ +// This file is released under the 3-clause BSD license. See COPYING-BSD. +// Generated by builder.sce: Please, do not edit this file + +try + getversion("scilab"); +catch + error("Scilab 5.4 or more is required."); +end; + +fileQuit = get_absolute_file_path("unloader.sce") + "etc/" + "FOSSEE_Optimization_Toolbox.quit"; +if isfile(fileQuit) then + exec(fileQuit); +end + |