Package org.ojalgo.optimisation.linear
Class PhasedSimplexSolver
java.lang.Object
org.ojalgo.optimisation.GenericSolver
org.ojalgo.optimisation.linear.LinearSolver
org.ojalgo.optimisation.linear.SimplexSolver
org.ojalgo.optimisation.linear.PhasedSimplexSolver
- All Implemented Interfaces:
Optimisation
,Optimisation.Solver
,UpdatableSolver
First runs the dual algorithm (with a possibly modified objective function) to establish feasibility, and
then the primal to reach optimality.
This is the primary sub-class of SimplexSolver
and the one you would typically use. All the other
sub-classes are primarily there to help with testing.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.ojalgo.optimisation.linear.SimplexSolver
SimplexSolver.Direction, SimplexSolver.EnterInfo, SimplexSolver.ExitInfo, SimplexSolver.IterDescr
Nested classes/interfaces inherited from class org.ojalgo.optimisation.linear.LinearSolver
LinearSolver.Builder, LinearSolver.Configuration, LinearSolver.ModelIntegration, LinearSolver.NewIntegration, LinearSolver.OldIntegration
Nested classes/interfaces inherited from interface org.ojalgo.optimisation.Optimisation
Optimisation.Constraint, Optimisation.ConstraintType, Optimisation.Integration<M extends Optimisation.Model,
S extends Optimisation.Solver>, Optimisation.Model, Optimisation.Objective, Optimisation.Options, Optimisation.ProblemStructure, Optimisation.Result, Optimisation.Sense, Optimisation.Solver, Optimisation.State -
Field Summary
Fields inherited from class org.ojalgo.optimisation.linear.LinearSolver
INTEGRATION, NEW_INTEGRATION, OLD_INTEGRATION
Fields inherited from class org.ojalgo.optimisation.GenericSolver
options
-
Constructor Summary
ConstructorsConstructorDescriptionPhasedSimplexSolver
(Optimisation.Options solverOptions, SimplexStore simplexStore) -
Method Summary
Modifier and TypeMethodDescription(package private) void
setup
(SimplexStore simplex) Determine if non-basic variables are at their lower or upper bound (or if they are unbounded) Shift ranges/bounds so that (one of) the bound(s) is at zero Assumes that the ranges/bounds of basic variables are already defined this way.solve
(Optimisation.Result kickStarter) Methods inherited from class org.ojalgo.optimisation.linear.SimplexSolver
basis, build, doDualIterations, doPrimalIterations, extractResult, fixVariable, generateCutCandidates, getEntityMap, initiatePhase1, isDualFeasible, isPrimalFeasible, prepareToIterate, shift, switchToPhase2, updateRange
Methods inherited from class org.ojalgo.optimisation.linear.LinearSolver
newBuilder, newBuilder, newGeneralBuilder, newGeneralBuilder, newSolver, newStandardBuilder, newStandardBuilder, solve, toObjectiveFunction
Methods inherited from class org.ojalgo.optimisation.GenericSolver
countIterations, countTime, error, getClassSimpleName, getDuration, getState, incrementIterationsCount, isIterationAllowed, isLogDebug, isLogOff, isLogProgress, log, log, log, log, logProgress, resetIterationsCount, setState, setValidator, validate, validate
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.ojalgo.optimisation.Optimisation.Solver
dispose, solve
Methods inherited from interface org.ojalgo.optimisation.UpdatableSolver
integers, isMapped
-
Constructor Details
-
PhasedSimplexSolver
PhasedSimplexSolver(Optimisation.Options solverOptions, SimplexStore simplexStore)
-
-
Method Details
-
solve
-
setup
Description copied from class:SimplexSolver
- Determine if non-basic variables are at their lower or upper bound (or if they are unbounded)
- Shift ranges/bounds so that (one of) the bound(s) is at zero
- Assumes that the ranges/bounds of basic variables are already defined this way.
- Specified by:
setup
in classSimplexSolver
-