From 4b64cf486f5c999fd8167758cae27839f3b50848 Mon Sep 17 00:00:00 2001 From: Harpreet Date: Sat, 3 Sep 2016 00:34:27 +0530 Subject: Structure updated and intqpipopt files added --- newstructure/sci_gateway/cpp/sci_minconTMINLP.cpp | 324 ++++++++++++++++++++++ 1 file changed, 324 insertions(+) create mode 100644 newstructure/sci_gateway/cpp/sci_minconTMINLP.cpp (limited to 'newstructure/sci_gateway/cpp/sci_minconTMINLP.cpp') diff --git a/newstructure/sci_gateway/cpp/sci_minconTMINLP.cpp b/newstructure/sci_gateway/cpp/sci_minconTMINLP.cpp new file mode 100644 index 0000000..350594d --- /dev/null +++ b/newstructure/sci_gateway/cpp/sci_minconTMINLP.cpp @@ -0,0 +1,324 @@ +// Copyright (C) 2015 - IIT Bombay - FOSSEE +// +// Author: Harpreet Singh, Pranav Deshpande and Akshay Miterani +// Organization: FOSSEE, IIT Bombay +// Email: toolbox@scilab.in +// 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 + +#include "minconTMINLP.hpp" +#include "sci_iofunc.hpp" + +extern "C" +{ +#include "call_scilab.h" +#include +#include +#include +#include +#include +#include +#include +} + +using namespace Ipopt; +using namespace Bonmin; + +//#define DEBUG 0 + +minconTMINLP::~minconTMINLP() +{ + if(finalX_) delete[] finalX_; +} + +// Set the type of every variable - CONTINUOUS or INTEGER +bool minconTMINLP::get_variables_types(Index n, VariableType* var_types) +{ + #ifdef DEBUG + sciprint("Code is in get_variables_types\n"); + #endif + n = numVars_; + for(int i=0; i < n; i++) + var_types[i] = CONTINUOUS; + for(int i=0 ; i < intconSize_ ; ++i) + var_types[(int)(intcon_[i]-1)] = INTEGER; + return true; +} + +// The linearity of the variables - LINEAR or NON_LINEAR +bool minconTMINLP::get_variables_linearity(Index n, Ipopt::TNLP::LinearityType* var_types) +{ + #ifdef DEBUG + sciprint("Code is in get_variables_linearity\n"); + #endif + for(int i=0;i