1
$\begingroup$

I have an optimization model that I have developed within the PYOMO framework and I am unable to solve the model in a reasonable amount of time using the BARON solver. I have been instructed not to use heuristic methods to solve the problem and instead "simulate" the system of equations by using pre-assigned values for the control variables.

I want to be able to solve the system of equations that I have right now, with no optimization, but by still using the equations created in PYOMO. The way that I thought about doing this initially was to assign the objective function value to 0 and then by sending the system to the BARON solver, the various constraints would themselves solve to a given value depending on the inputs I have assigned.

To summarize, I want to use the equations that I have coded in PYOMO to numerically solve a system of equations without doing any optimization. The problem that I have would essentially pre-assign values to the control variables and then let the constraints evolve.

I am more interested in the variable values that result from the equations than I am in the optimal values. This method was communicated to me as "simulation", but I am not sure if this is the appropriate terminology within OR.

$\endgroup$
  • 2
    $\begingroup$ it is very unclear what you are doing or trying to do, what problem you are trying to solve, what constitutes (in your parlance) a simulation model, and how it is related to your optimization model, etc. Until this all is clarified, I doubt anyone can offer useful suggestions to you. If BARON is to run as a "simple equation simulator instead of an optimizer", what problem would you like to give it? You can use BARON to solve feasibility problems by making the objective function constant (such as zero). And you can remove or weaken constraints and let BARON solver a less-constrained probllem. $\endgroup$ – Mark L. Stone May 11 at 17:08
  • $\begingroup$ I completely redefined the question, I hope it is more clear than previously. $\endgroup$ – GrayLiterature May 11 at 17:21
1
$\begingroup$

By reading your edited question, I think you are trying to get feasible solutions(values for the variables that satisfy the system of equations). If it's true, you can simply fix the objective function and use BARON to get the values for the variables. In PYOMO:

from pyomo.util.infeasible import log_infeasible_constraints
# ...your model M...
# ...Lines of your code...
# ...your solving step...
log_infeasible_constraints(M)

the above code will give you the list of constraints that cause the model infeasibility if there is any.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Unfortunately this does not seem to work for my problem. I get a similar error code to this post (stackoverflow.com/questions/51799256/…). Because the model returns as infeasible, no value can be assigned so there seems to be some type of incompatibility when using log_infeasible_constraints() $\endgroup$ – GrayLiterature May 11 at 18:48
  • $\begingroup$ Then maybe some of your equations in the system of equations conflict. Another possibility could be the singularity problem. $\endgroup$ – Oguz Toragay May 11 at 18:55
  • $\begingroup$ @GrayLiterature could you share part of your code that causes the error? $\endgroup$ – Oguz Toragay May 11 at 18:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.