summaryrefslogtreecommitdiff
path: root/macros/symphony_call.sci
diff options
context:
space:
mode:
Diffstat (limited to 'macros/symphony_call.sci')
-rw-r--r--macros/symphony_call.sci46
1 files changed, 46 insertions, 0 deletions
diff --git a/macros/symphony_call.sci b/macros/symphony_call.sci
new file mode 100644
index 0000000..e181b96
--- /dev/null
+++ b/macros/symphony_call.sci
@@ -0,0 +1,46 @@
+// 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,iter] = symphony_call(nbVar,nbCon,objCoef,isInt,LB,UB,conMatrix,conLB,conUB,objSense,options)
+
+ //Opening Symphony environment
+ sym_open();
+
+ //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
+
+
+ //Setting Options for the Symphpony
+ setOptions(options);
+
+ op = sym_solve();
+
+ xopt = [];
+ fopt = [];
+ status = [];
+ iter = [];
+
+ if (~op) then
+ xopt = sym_getVarSoln();
+ fopt = sym_getObjVal();
+ iter = sym_getIterCount();
+ end
+
+// //Closing Symphony Environment
+// sym_close();
+
+endfunction