Solution

class flopt.Solution(variables, sort=True, *args, **kwargs)[source]

Solution Class

Parameters:

variables (list of VarElement family) – variables which has no duplicate

name

name of solution

Type:

str

type
Type:

str

_variables

variable array

Type:

list of varElement

_var_dict

key is name of variable, key is variable

Type:

dict

Examples

Create a Solution which has Integer, Continuous and Binary Variables

>>> a = Variable(name="a", lowBound=0, upBound=1, cat="Integer")
>>> b = Variable(name="b", lowBound=1, upBound=2, cat="Continuous")
>>> c = Variable(name="c", cat="Binary")
>>> sol = Solution([a, b, c])

Four arithmetic operations are supported between Solutions or between a Solution and a constant.

>>> sol1 = Solution([a, b])
>>> sol2 = Solution([a, c])
>>> sol_plus = sol1 + sol2  # (Solution + Solution or Solution + list)
>>> sol_minus = sol1 - sol2  # (Solution - Solution or Solution - list)
>>> sol_product = sol1 * 2  # (Solution * constant)
>>> sol_divide = sol1 / 2  # (Solution / constant)
clip()[source]

Guarantee feasibility of the solution

clone()[source]
Returns:

Copy of the Solution (call by value)

Return type:

Solution

copy(other)[source]

Copy the values of a Solution to itself (call by value)

dot(other)[source]
Returns:

Inner product between the Solution and another Solution

Return type:

float

feasible()[source]
Returns:

Whether the solution is feasible or not

Return type:

bool

getVariables()[source]
Returns:

Variable instances which belong to the Solution

Return type:

list

norm()[source]
Returns:

2-norm of the solution as a vector in Euclid space

Return type:

float

setRandom()[source]

Set the solution values uniformly random

setValue(name, value)[source]
Parameters:
  • name (str) –

  • value (int or float) –

setValuesFromArray(array)[source]
Parameters:

array (iterator) – array of variable values

squaredNorm()[source]
Returns:

Squared 2-norm of the solution as a vector in Euclid space

Return type:

float

toDict()[source]
Returns:

key is name of variable, value is VarElement family or Expression or Const

Return type:

dict

value(solution=None)[source]
Parameters:

solution (None or Solution) –

Returns:

values of the variables in the Solution

Return type:

list