Example #1
0
 def test_time_limit(self):
     with SolverFactory('mindtpy') as opt:
         model = OnlineDocExample()
         print('\n Solving problem with Outer Approximation')
         opt.solve(model,
                   strategy='OA',
                   time_limit=1,
                   mip_solver=required_solvers[1],
                   nlp_solver=required_solvers[0])
Example #2
0
 def test_OA_OnlineDocExample(self):
     with SolverFactory('mindtpy') as opt:
         model = OnlineDocExample()
         print('\n Solving problem with Outer Approximation')
         opt.solve(model,
                   strategy='OA',
                   mip_solver=required_solvers[1],
                   nlp_solver=required_solvers[0])
         self.assertAlmostEqual(value(model.objective.expr), 3, places=2)
 def test_fp_OnlineDocExample(self):
     """Test the feasibility pump algorithm."""
     """TODO: bug fix"""
     with SolverFactory('mindtpy') as opt:
         model = OnlineDocExample()
         print('\n Solving OnlineDocExample using feasibility pump')
         results = opt.solve(model,
                             strategy='FP',
                             mip_solver=required_solvers[1],
                             nlp_solver=required_solvers[0],
                             iteration_limit=0)
         self.assertTrue(is_feasible(model, self.get_config(opt)))
Example #4
0
 def test_ECP_OnlineDocExample(self):
     with SolverFactory('mindtpy') as opt:
         model = OnlineDocExample()
         print('\n Solving Online Doc Example with extended cutting plane')
         results = opt.solve(model, strategy='ECP',
                             mip_solver=required_solvers[1],
                             nlp_solver=required_solvers[0], bound_tolerance=1e-3
                             )
         self.assertIs(results.solver.termination_condition,
                       TerminationCondition.optimal)
         self.assertAlmostEqual(
             value(model.objective.expr), 2.438447, places=2)
Example #5
0
 def test_OA_OnlineDocExample(self):
     with SolverFactory('mindtpy') as opt:
         model = OnlineDocExample()
         print('\n Solving Online Doc Example with Outer Approximation')
         results = opt.solve(model, strategy='OA',
                             mip_solver=required_solvers[1],
                             nlp_solver=required_solvers[0]
                             )
         self.assertIs(results.solver.termination_condition,
                       TerminationCondition.optimal)
         self.assertAlmostEqual(
             value(model.objective.expr), 2.438447, places=2)
Example #6
0
 def test_GOA_OnlineDocExample_L_infinity_norm(self):
     with SolverFactory('mindtpy') as opt:
         model = OnlineDocExample()
         print(
             '\n Solving Online Doc Example with global Outer Approximation'
         )
         results = opt.solve(model,
                             strategy='GOA',
                             mip_solver=required_solvers[1],
                             nlp_solver=required_solvers[0],
                             feasibility_norm="L_infinity",
                             add_nogood_cuts=True,
                             single_tree=True)
         self.assertIs(results.solver.termination_condition,
                       TerminationCondition.optimal)
         self.assertAlmostEqual(value(model.objective.expr),
                                2.438447,
                                places=2)
Example #7
0
from pyomo.contrib.mindtpy.tests.online_doc_example import OnlineDocExample
from pyomo.environ import SolverFactory, value, maximize
from pyomo.solvers.tests.models.LP_unbounded import LP_unbounded
from pyomo.solvers.tests.models.QCP_simple import QCP_simple
from pyomo.opt import TerminationCondition


full_model_list = [EightProcessFlowsheet(convex=True),
                   ConstraintQualificationExample(),
                   SimpleMINLP(),
                   SimpleMINLP2(),
                   SimpleMINLP3(),
                   SimpleMINLP4(),
                   SimpleMINLP5(),
                   ProposalModel(),
                   OnlineDocExample()
                   ]
model_list = [EightProcessFlowsheet(convex=True),
              ConstraintQualificationExample(),
              SimpleMINLP2(),
              #   SimpleMINLP(),
              #   SimpleMINLP3(),
              #   SimpleMINLP4(),
              #   SimpleMINLP5(),
              #   ProposalModel(),
              #   OnlineDocExample()
              ]
nonconvex_model_list = [EightProcessFlowsheet(convex=False)]

LP_model = LP_unbounded()
LP_model._generate_model()