summaryrefslogtreecommitdiff
path: root/macros/symphony_call.sci~
diff options
context:
space:
mode:
authorHarpreet2015-11-02 16:20:08 +0530
committerHarpreet2015-11-02 16:20:08 +0530
commit29e8e8bbd43892c7fa146c165fdf128f786d6a7b (patch)
treeedeacf24d149d777859c2eff9661d04c7bd2f93d /macros/symphony_call.sci~
parenteb054c02e76fa28638b595865f5eda52277b70be (diff)
downloadsymphony-29e8e8bbd43892c7fa146c165fdf128f786d6a7b.tar.gz
symphony-29e8e8bbd43892c7fa146c165fdf128f786d6a7b.tar.bz2
symphony-29e8e8bbd43892c7fa146c165fdf128f786d6a7b.zip
README.rst added
Diffstat (limited to 'macros/symphony_call.sci~')
-rw-r--r--macros/symphony_call.sci~52
1 files changed, 52 insertions, 0 deletions
diff --git a/macros/symphony_call.sci~ b/macros/symphony_call.sci~
new file mode 100644
index 0000000..057ba63
--- /dev/null
+++ b/macros/symphony_call.sci~
@@ -0,0 +1,52 @@
+// Copyright (C) 2015 - IIT Bombay - FOSSEE
+//
+// Author: Harpreet Singh
+// Organization: FOSSEE, IIT Bombay
+// Email: harpreet.mertia@gmail.com
+// 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
+
+function [xopt,fopt,status,output] = symphony_call(nbVar,nbCon,objCoef,isInt,LB,UB,conMatrix,conLB,conUB,objSense,options)
+
+ //Opening Symphony environment
+ sym_open();
+
+ //Setting Options for the Symphpony
+// setOptions(options);
+
+ //Choosing to launch basic or advanced version
+ if(~issparse(conMatrix)) then
+ sym_loadProblemBasic(nbVar,nbCon,LB,UB,objCoef,isInt,objSense,conMatrix,conLB,conUB);
+ else
+ // Changing to Constraint Matrix into sparse matrix
+ conMatrix_advanced=sparse(conMatrix);
+ sym_loadProblem(nbVar,nbCon,LB,UB,objCoef,isInt,objSense,conMatrix_advanced,conLB,conUB);
+ end
+
+ op = sym_solve();
+ disp(op);
+
+ xopt = [];
+ fopt = [];
+ status = [];
+ output = [];
+
+ if (~op) then
+ xopt = sym_getVarSoln();
+ // Symphony gives a row matrix converting it to column matrix
+ xopt = xopt';
+
+ fopt = sym_getObjVal();
+ end
+
+ status = sym_getStatus();
+
+ output = struct("Iterations" , []);
+
+ output.Iterations = sym_getIterCount();
+
+
+endfunction