15 # pragma warning(disable:4786)
22 #include "CoinTime.hpp"
23 #include "CoinError.hpp"
28 #include "CoinHelperFunctions.hpp"
33 #include "CbcCutGenerator.hpp"
43 using namespace Couenne;
48 KW(const_cast<char*>(
"empty"),
51 const_cast<char*>(
"nothing")),
54 extern Option_Info
Oinfo;
56 using namespace Bonmin;
60 int main (
int argc,
char *argv[]) {
61 WindowsErrorPopupBlocker();
62 using namespace Ipopt;
65 bb.setUsingCouenne (
true);
73 int NumberOfVariables = bonmin.couennePtr () -> Problem () -> nOrigVars ();
75 typedef struct {
char *msg;
int code, wantsol;} Sol_info;
77 static SufDecl suftab [] = {
78 {
const_cast<char*
>(
"newlb"), 0,
79 ASL_Sufkind_var | ASL_Sufkind_real | ASL_Sufkind_output, 0},
80 {
const_cast<char*
>(
"newub"), 0,
81 ASL_Sufkind_var | ASL_Sufkind_real | ASL_Sufkind_output, 0}};
83 suf_declare_ASL (aslfg -> asl, suftab,
sizeof (suftab) /
sizeof (SufDecl));
86 SufDesc* vnewLb = suf_get_ASL(aslfg -> asl,
"newlb", ASL_Sufkind_var);
87 SufDesc* vnewUb = suf_get_ASL(aslfg -> asl,
"newub", ASL_Sufkind_var);
89 vnewLb -> u.r = (
real*)M1zapalloc_ASL(&aslfg -> asl->i, NumberOfVariables *
sizeof(
real));
90 vnewUb -> u.r = (
real*)M1zapalloc_ASL(&aslfg -> asl->i, NumberOfVariables *
sizeof(
real));
93 *newL = bonmin.couennePtr () -> Problem () -> Lb (),
94 *newU = bonmin.couennePtr () -> Problem () -> Ub ();
101 for(
int i = 0; i < NumberOfVariables; i++) {
102 vnewLb->u.r[i] = newL [i];
103 vnewUb->u.r[i] = newU [i];
106 write_sol_ASL (aslfg -> asl, const_cast<char*>(
"tightened bounds"), 0, 0, &
Oinfo);
int main(int argc, char *argv[])
ASL * readASLfg(char **argv)
Bonmin::BqpdSolver::real real
bool InitializeCouenne(char **argv=NULL, CouenneProblem *couenneProb=NULL, Ipopt::SmartPtr< Bonmin::TMINLP > tminlp=NULL, CouenneInterface *ci=NULL, Bonmin::Bab *bb=NULL)
Initialize from command line arguments.