Universe::JavaOptimizationSolver class

The JavaOptimizationSolver defines an implementation of an IOptimizationSolver in Java (using JNI).

Base classes

class IOptimizationSolver virtual

Public static functions

static auto of(easyjni::JavaObject object) -> IOptimizationSolver*
static auto of(Universe::UniverseJavaSolver* solver) -> IOptimizationSolver*

Constructors, destructors, conversion operators

~JavaOptimizationSolver() defaulted override

Public functions

auto isMinimization() -> bool override
void setBounds(const Universe::BigInteger& lb, const Universe::BigInteger& ub) override
void setLowerBound(const Universe::BigInteger& lb) override
auto getLowerBound() -> Universe::BigInteger override
void setUpperBound(const Universe::BigInteger& ub) override
auto getUpperBound() -> Universe::BigInteger override
auto getCurrentBound() -> Universe::BigInteger override

Function documentation

static IOptimizationSolver* Universe::JavaOptimizationSolver::of(easyjni::JavaObject object)

Parameters
object The Java object to adapt.
Returns The created solver.

Creates a JavaOptimizationSolver.

static IOptimizationSolver* Universe::JavaOptimizationSolver::of(Universe::UniverseJavaSolver* solver)

Parameters
solver The Java solver to adapt.
Returns The created solver.

Creates a JavaOptimizationSolver.

Universe::JavaOptimizationSolver::~JavaOptimizationSolver() override defaulted

Destroys this IOptimizationSolver.

bool Universe::JavaOptimizationSolver::isMinimization() override

Returns Whether the underlying problem is a minimization problem.

Checks whether the optimization problem is a minimization problem.

void Universe::JavaOptimizationSolver::setBounds(const Universe::BigInteger& lb, const Universe::BigInteger& ub) override

Parameters
lb The lower bound to set.
ub The upper bound to set.

Sets the bounds for the optimization problem to solve.

void Universe::JavaOptimizationSolver::setLowerBound(const Universe::BigInteger& lb) override

Parameters
lb The lower bound to set.

Sets the lower bound for the optimization problem to solve.

Universe::BigInteger Universe::JavaOptimizationSolver::getLowerBound() override

Returns The current lower bound.

Gives the current (best) lower bound of the underlying optimization problem.

void Universe::JavaOptimizationSolver::setUpperBound(const Universe::BigInteger& ub) override

Parameters
ub The upper bound to set.

Sets the upper bound for the optimization problem to solve.

Universe::BigInteger Universe::JavaOptimizationSolver::getUpperBound() override

Returns The current upper bound.

Gives the current (best) upper bound of the underlying optimization problem.

Universe::BigInteger Universe::JavaOptimizationSolver::getCurrentBound() override

Returns The current bound.

Gives the current (best) bound that have been found by this solver. It is the current lower or upper bound, depending on whether the problem is a minimization or maximization problem.