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.IterDescrNested classes/interfaces inherited from class org.ojalgo.optimisation.linear.LinearSolver
LinearSolver.Builder, LinearSolver.Configuration, LinearSolver.ModelIntegration, LinearSolver.NewIntegration, LinearSolver.OldIntegrationNested 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, NEWER_DUAL_SOLVER, OLDER_PRIMAL_SOLVERFields inherited from class org.ojalgo.optimisation.GenericSolver
options -
Constructor Summary
ConstructorsConstructorDescriptionPhasedSimplexSolver(Optimisation.Options solverOptions, SimplexStore simplexStore) -
Method Summary
Modifier and TypeMethodDescription(package private) voidsetup(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, doSolveConvexAsDual, doSolveConvexAsPrimal, extractResult, fixVariable, generateCutCandidates, getEntityMap, isDualFeasible, isPrimalFeasible, prepareToIterate, shift, sizeOfDual, sizeOfPrimal, switchToPhase2, updateRangeMethods inherited from class org.ojalgo.optimisation.linear.LinearSolver
newBuilder, newBuilder, newGeneralBuilder, newGeneralBuilder, newSolver, newStandardBuilder, newStandardBuilder, solve, toObjectiveFunctionMethods 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, validateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.ojalgo.optimisation.Optimisation.Solver
dispose, solveMethods 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:
setupin classSimplexSolver
-