Model status 13: Error no solution, Solver Status 9: Error: Setup failure

1,282 views
Skip to first unread message

student86

unread,
Jun 29, 2012, 4:11:37 AM6/29/12
to AIMMS - The Modeling System
Dear AIMMS Team,

first of all thank you for fixing the new license for me.
So nowadays I am writing my paper for the University.
So I hope, that you can help me as fast as possible.

My problem is a dynamic capaciated single allocation hub location
problem. For this case i just combined two diffrent models from the
literature
I try to minimize the routing costs as well as the Opening-,
Operating- and ClosingCosts for Hubs.

The data, wich AIMMS is reading from Excel should be correct. There is
no error from AIMMS and when I click the data of the parameters:
everything seems to be ok.
Then when I try to run procedure at main execution I get this problem:
Model status 13: Error no solution, Solver status 9: Error: Setup
failure (see message window) with -> MainExecution [body] (1,0).

What is wrong with the model? I mean ok, I have mixed problem I guess,
because I am using linear terms (see TotalFlowCosts) and quadratic
terms (see ClosingCosts, OpeningCosts) and I have linear constraints
and binary variables.

I hope I could explain my problem and I hope that you can give me an
answer today.

Thank you so much.

Best regards
Sadik

Guido Diepen

unread,
Jun 29, 2012, 5:11:32 AM6/29/12
to ai...@googlegroups.com
Hi Sadik,

When there was an error with setting up the solver (as indicated in the error message), additional information is written to the AIMMS message window (the instruction for which is also stated in the error message you see). You can open this window by going to Menu > Window > Messages or alternatively by pressing the keyboard shortcut Ctrl-m.

Given the fax that you have quadratic terms, my first guess would be that the resulting problem is not solvable by the solver (e.g. it is not a convex problem, which CPLEX might require). If this is indeed the case, you will have to either transform your problem, or use a generic NLP / MINLP solver.

Guido Diepen
AIMMS Specialist

Model status 13: Error no solution, Solver status 9: Error: Setup 
failure (see message window) with -> MainExecution [body] (1,0).  

student86

unread,
Jun 29, 2012, 5:29:37 AM6/29/12
to ai...@googlegroups.com
Hi Guido,

thank you for the quick respond!
So i checked the box and I guess you´re right. So I changed the Type from "Automatic" to "MINLP" solver.

After this I get this Error:
To run AOA the name of the AOA callback procedure should be assigned to suffix 'CallbackAOA' of 'Minimiere_DSAHLP_N'. For example: Minimiere_DSAHLP_N.CallbackAOA := 'OuterApprox::BasicAlgorithm'; where 'OuterApprox' is the prefix of the Outer Approximation module.

Somewhere in this group i have seen a way to make this AOA but I am not sure where to do it in AIMMS? I think this may be the better way to solve the model.

Otherwise how can I linearize a OpeningCosts term for example like:

sum[(k),sum[(t),E(k,t)*(1-Z(k,k,t-1))*Z(k,k,t)]]

where k is a possible Hublocation, t a time period, E(k,t) the parameter for OpeningCosts and Z(k,k,t) my binary variable for opening a hub or not.

Thanks a lot
Sadik

Guido Diepen

unread,
Jun 29, 2012, 5:40:43 AM6/29/12
to ai...@googlegroups.com
Hi Sadik,

This is caused by using the old/original AOA. I would advise to make use of the new Generated Math Program (GMP) version of the AOA. For more information about how to use this new GMP-AOA, please see the following article on the AIMMS blog:  http://blog.aimms.com/2012/02/solving-minlp-problems-with-aimms-outer-approximation/

An additional article that is useful is the article explaining how to use GMP in general in AIMMS: http://blog.aimms.com/2011/11/using-gmp-functions-instead-of-regular-solve-statement/ . 

Guido Diepen
AIMMS Specialist

Guido Diepen

unread,
Jun 29, 2012, 5:53:43 AM6/29/12
to ai...@googlegroups.com
Hi Sadik,

forgot to mention in my previous answer. If you have a product of binary variables you want to linearize, please see section 7.7 in the Optimization Modeling book which you can find in the help menu of your AIMMS installation.

Guido Diepen
AIMMS Specialist

student86

unread,
Jun 29, 2012, 6:24:02 AM6/29/12
to ai...@googlegroups.com
Hi Guido,

so i tried to make use of the GMP. But I need a little bit help...
So I generated an Element Parameter "myGMP" with Range: AllGeneratedMathematicalPrograms.
(I am using AIMMS version 3.11)

After this I put these two lines into the MainExecution body:

myGMP := GMP::Instance::Generate(Minimiere_DSAHLP_N);
GMPOuterApprox::DoOuterApproximation(myGMP);

But now I have to declare the identifier "GMPOuterApprox" but i dont know where to do it? and "DoOuterApproximation" seems strange as well.
I am not so fit in programming, so I hope you can explain what to do next.

By the way I will take a look on chapter 7.7.

Thank you so much
Sadik

Marcel Hunting

unread,
Jun 29, 2012, 6:58:08 AM6/29/12
to ai...@googlegroups.com
Hi,

You should not be looking at AOA or GMP-AOA for you non-convex model. Very likely AOA will only find a local optimum solution.

Instead, you should linearize these terms:

   sum[(k),sum[(t),E(k,t)*(1-Z(k,k,t-1))*Z(k,k,t)]]  

where Z is a binary variable. Then you end up with a linear MIP problem which is easier to solve and for which you can get a global optimum solution.

Basically, if you have a product x_i * x_j where x_i and x_j are binary variables then you can replace this product by a new variable y_ij after adding new constraints

   y_ij <= x_i
   y_ij <= x_j
   x_i + x_j - y_ij <= 1
   y_ij >= 0

This will enforce y_ij to be 1 if both x_i and x_j are 1, and y_ij is 0 otherwise.

Best regards,

Marcel Hunting
AIMMS Software Developer

Guido Diepen

unread,
Jun 29, 2012, 7:46:01 AM6/29/12
to ai...@googlegroups.com
Hi Sadik,

Marcel is right: you should first try to see if you can linearize your problem.

To answer the other question you have, about how to introduce the identifier  GMPOuterApprox , you can do this by installing the "GMP Outer Approximation Module" Sytem Module via Menu > Settings > Install System Module and there select the "GMP Outer Approximation Module". This will install a new module in your project containing the AOA-GMP code that is needed.

Guido Diepen
AIMMS Specialist

student86

unread,
Jun 29, 2012, 10:22:04 AM6/29/12
to ai...@googlegroups.com
Hello Marcel and Guido,

@Marcell: thanks for the information, I will try to linearize the model!

@Guido: now it works without linearizing the Model. So it says: that i have hubs at node 4 and 9 (10 node problem) during 5 time periods.

My question is: should I  use this GMP function? or not? I mean where is diffrence except the solving time?
My second question is: if I use the GMP function the solver time says: NLP 12.55 and MLP 15.71. So which one is my objective if I analyze my model?

Thank you so much for your help! It was really helpfull and amazing fast!

At the progress window it says:

Executing: AddLinearizationsAndSolveMasterMIP
Line number: 15 [body]
Math Program: OA_NLP
#Constraints 1054
#Variables 5004
#Nonzeros 21007
ModelType: RMINLP
Direction: minimize

Solver: OuterApproximationAlgorithm
NLP: CONOPT 3.14
MIP: CPLEX 12.3
Calls: NLP 21 MIP 20
Iterations: NLP 181 MIP 24278
SOLVERTIME: NLP 12.55sec MIP 15.71sec
OA Objective: 1909971.678 (Iterations 20)
ProgramStatus: Locally optimal
SolverStatus: NormalCompletion

Totaltime: 29,08sec
Memory Used: 103.3Mb
MemoryFree: 5215.6MB

Sadik

Reply all
Reply to author
Forward
0 new messages