This class is used to represent solvers for optimization. Only experts should use the fields and methods for this class directly.
Super class
ConservationModifier -> Solver
Methods
Solver$calculate()
Perform computations that need to be completed before applying the object.
Arguments
...Additional arguments.
xoptimization_problem()object.
Solver$set_variable_ub()
Set the upper bound for a decision variable.
Arguments
indexintegervalue indicating the index of the decision variable.valuenumericnew bound value.
Details
Note that this method should only be run after $calculate().
It can be used to overwrite values after ingesting an
optimization_problem() object.
It is designed to be used in portfolios and importance functions.
Solver$set_variable_lb()
Set the lower bound for a decision variable.
Arguments
indexintegervalue indicating the index of the decision variable.valuenumericnew bound value.
Details
Note that this method should only be run after $calculate().
It can be used to overwrite values after ingesting an
optimization_problem() object.
It is designed to be used in portfolios and importance functions.
Solver$set_constraint_rhs()
Set the right-hand-side coefficient bound for a constraint.
Arguments
indexintegervalue indicating the index of the decision variable.valuenumericnew value.
Details
Note that this method should only be run after $calculate().
It can be used to overwrite values after ingesting an
optimization_problem() object.
It is designed to be used in portfolios and importance functions.
Solver$set_start_solution()
Set the starting solution.
Arguments
valuenumericvector.warnlogicalindicating if a warning should be displayed if the solver does not support starting solutions.
Details
This method is designed used in portfolios and importance functions.
Solver$remove_start_solution()
Remove the starting solution.
Details
This method is designed used in portfolios and importance functions.
Solver$solve()
Solve an optimization problem.
Arguments
xoptimization_problem()object....Additional arguments passed to the
calculate()method.
Solver$default_solve_multiobj()
Solve a multi-objective optimization problem using a hierarchical multi-objective optimization approach. Broadly speaking, this approach involves using multiple optimization procedures to solve objectives following a hierarchical (lexicographic) ordering, wherein those associated with a higher priority order are solved before those with a lower priority order. When implementing this approach, constraints are added after generating a given solution to ensure that subsequent solutions for lower priority objectives have adequate performance according to higher priority objectives.
Arguments
xlistobject with multi-objective optimization problem. Arguments must contain the following elements: ("opt")OptimizationProblemobject; ("modelsense")charactervector containing the model sense values for each objective; and ("obj") numeric` matrix containing the coefficients for each of the objectives, wherein rows correspond to different objectives, columns to different decision variables and row names can be optionally specify names for the objectives.prioritynumericvector with values indicating the priority for each objective. Greater values denote greater priority, and so objectives associated with greater values are optimized earlier in the multi-objective process.rel_tolnumericvector with relative tolerance values for each constraint. Greater values denote a greater degree of sub-optimality....Additional arguments passed to the
calculate()method.
Solver$solve_multiobj()
Solve a multi-objective optimization problem using a hierarchical multi-objective optimization approach. Broadly speaking, this approach involves using multiple optimization procedures to solve objectives following a hierarchical (lexicographic) ordering, wherein those associated with a higher priority order are solved before those with a lower priority order. When implementing this approach, constraints are added after generating a given solution to ensure that subsequent solutions for lower priority objectives have adequate performance according to higher priority objectives.
Arguments
xlistobject with multi-objective optimization problem. Arguments must contain the following elements: ("opt")OptimizationProblemobject; ("modelsense")charactervector containing the model sense values for each objective; and ("obj") numeric` matrix containing the coefficients for each of the objectives, wherein rows correspond to different objectives, columns to different decision variables and row names can be optionally specify names for the objectives.prioritynumericvector with values indicating the priority for each objective. Greater values denote greater priority, and so objectives associated with greater values are optimized earlier in the multi-objective process.rel_tolnumericvector with relative tolerance values for each constraint. Greater values denote a greater degree of sub-optimality....Additional arguments passed to the
calculate()method.
