def execute_with_model(self, model, args): galini = Galini() if args.config: galini.update_configuration(args.config) solution = galini.solve( model, args.algorithm, known_optimal_objective=args.known_optimal_objective) status_table = OutputTable('Solution', [{ 'id': 'status', 'name': 'Status', 'type': 't' }]) if solution is None: status_table.add_row({'status': 'unboundedOrInfeasible'}) print_output_table([status_table], args) return status_table.add_row({'status': solution.status.description()}) obj_table = OutputTable('Objectives', [ { 'id': 'name', 'name': 'Objective', 'type': 't' }, { 'id': 'value', 'name': 'Value', 'type': 'f' }, ]) obj_table.add_row({ 'name': 'objective', 'value': solution.objective, }) var_table = OutputTable('Variables', [ { 'id': 'name', 'name': 'Variable', 'type': 't' }, { 'id': 'value', 'name': 'Value', 'type': 'f' }, ]) for var in solution.variables: var_table.add_row({ 'name': var.name, 'value': var.value, }) counter_table = OutputTable('Counters', [ { 'id': 'name', 'name': 'Name', 'type': 't' }, { 'id': 'value', 'name': 'Value', 'type': 'f' }, ]) for counter in galini.telemetry.counters_values(): counter_table.add_row(counter) print_output_table([status_table, obj_table, var_table, counter_table], args)
m.x = pe.Var(bounds=(0, None)) m.y = pe.Var(bounds=(0, None)) m.z = pe.Var(bounds=(0, None)) m.obj = pe.Objective(expr=m.x, sense=pe.maximize) m.lin = pe.Constraint(expr=m.x + m.y + m.z == 1) m.soc = pe.Constraint(expr=m.x**2 + m.y**2 <= m.z**2) m.rot = pe.Constraint(expr=m.x**2 <= m.y * m.z) return m if __name__ == '__main__': from galini.galini import Galini galini = Galini() galini.update_configuration({ 'galini': { 'timelimit': 100, }, 'logging': { 'stdout': True, }, }) model = get_pyomo_model() solution = galini.solve(model) print(solution)