diff options
author | Harpreet | 2015-11-02 16:20:08 +0530 |
---|---|---|
committer | Harpreet | 2015-11-02 16:20:08 +0530 |
commit | 29e8e8bbd43892c7fa146c165fdf128f786d6a7b (patch) | |
tree | edeacf24d149d777859c2eff9661d04c7bd2f93d /macros/symphony_call.sci~ | |
parent | eb054c02e76fa28638b595865f5eda52277b70be (diff) | |
download | symphony-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 |