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])
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)))
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)
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)
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)
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()