结果

(类来自 pyomo.contrib.appsi.base)

class pyomo.contrib.appsi.base.Results[source]

基础类:object

所有APPSI求解器结果的基类

termination_condition

求解器退出的原因。这是TerminationCondition枚举的一个成员。

Type:

TerminationCondition

best_feasible_objective

如果找到了可行解,这是找到的最佳解的目标值。如果没有找到可行解,这是None。

Type:

float

best_objective_bound

找到的最佳目标界限。对于最小化问题,这是下界。对于最大化问题,这是上界。对于不提供目标界限的求解器,这应该是 -inf(最小化)或 inf(最大化)

Type:

float

示例

这是一个示例工作流程:

>>> import pyomo.environ as pe
>>> from pyomo.contrib import appsi
>>> m = pe.ConcreteModel()
>>> m.x = pe.Var()
>>> m.obj = pe.Objective(expr=m.x**2)
>>> opt = appsi.solvers.Ipopt()
>>> opt.config.load_solution = False
>>> results = opt.solve(m) 
>>> if results.termination_condition == appsi.base.TerminationCondition.optimal: 
...     print('optimal solution found: ', results.best_feasible_objective) 
...     results.solution_loader.load_vars() 
...     print('the optimal value of x is ', m.x.value) 
... elif results.best_feasible_objective is not None: 
...     print('sub-optimal but feasible solution found: ', results.best_feasible_objective) 
...     results.solution_loader.load_vars(vars_to_load=[m.x]) 
...     print('The value of x in the feasible solution is ', m.x.value) 
... elif results.termination_condition in {appsi.base.TerminationCondition.maxIterations, appsi.base.TerminationCondition.maxTimeLimit}: 
...     print('No feasible solution was found. The best lower bound found was ', results.best_objective_bound) 
... else: 
...     print('The following termination condition was encountered: ', results.termination_condition) 
__init__()[source]

方法

__init__()

成员文档