Hi All,
I have to optimize a set of equations that have cyclic iterations. I have a pyomo code as below. I tried with a couple of solvers, but all of them hang. Is there a way to handle cycles?
Thanks and Regards
from pyomo.environ import *
from vmplib import *
import sys
import traceback
#sys.setrecursionlimit(90000)
model = ConcreteModel()
model.limits = ConstraintList()
#Taxpayer v0.2>Taxpayer v0.2 Plan Criterion Set>Start cash>Start cash Value MeasurementMC
model.x8 = Var(within=NonNegativeReals,initialize=1000.0000)
#Taxpayer v0.2>Taxpayer v0.2 Plan Criterion Set>Cash>Cash Value MeasurementMC
model.x4 = Objective()
model.x4.set_sense(maximize)
#Cash model Package>Employment network>Employer>Net salary>Net salary amount>Net salary amount Value MeasurementMC
model.x7 = Var(within=NonNegativeReals,initialize=25000.0000)
#Cash model Package>Cash network>Banker>Savings account>Interest rate>Interest rate Value MeasurementMC
model.x5 = Var(within=NonNegativeReals,initialize=5.0000)
#Cash model Package>Cash network>Taxpayer>Tax>Tax rate>Tax rate Value MeasurementMC
model.x3 = Var(within=NonNegativeReals,initialize=50.0000)
#Cash model Package>Cash network>Saver>Revenue streams>Net income from labor>Net income from labor Value MeasurementMC
model.x6 = Expression()
#Cash model Package>Cash network>Saver>Revenue streams>Income from interest>Income from interest Value MeasurementMC
model.x2 = Expression()
#Cash model Package>Cash network>Saver>Cost structures>Tax payment>Tax payment Value MeasurementMC
model.x1 = Expression()
#Taxpayer v0.2>Taxpayer v0.2 Plan Criterion Set>Cash>Cash Value MeasurementMC
model.x4.set_value(model.x8+model.x6+ model.x2-model.x1)
model.c4 = Constraint(expr=model.x4 >= 0)
#Cash model Package>Cash network>Saver>Revenue streams>Net income from labor>Net income from labor Value MeasurementMC
model.x6.set_value(model.x7)
model.c6 = Constraint(expr=model.x6 >= 0)
#Cash model Package>Cash network>Saver>Revenue streams>Income from interest>Income from interest Value MeasurementMC
model.x2.set_value(model.x4-0.01*model.x5)
model.c2 = Constraint(expr=model.x2 >= 0)
#Cash model Package>Cash network>Saver>Cost structures>Tax payment>Tax payment Value MeasurementMC
model.x1.set_value(model.x2 - 0.01*model.x3)
model.c1 = Constraint(expr=model.x1 >= 0)
def maxz(m):
return m.x4 <= 26666.6666
model.constz = Constraint(rule = maxz)
solver = SolverFactory(‘couenne’)
solver.options[‘max_iter’] = 6000
try:
results = solver.solve(model, tee=True)
except:
traceback.print_exc()
response = {‘error’: ‘error handling request’}
traceback.print_exc()