Class PrimalSimplexSolver
java.lang.Object
org.ojalgo.optimisation.GenericSolver
org.ojalgo.optimisation.linear.LinearSolver
org.ojalgo.optimisation.linear.SimplexSolver
org.ojalgo.optimisation.linear.PrimalSimplexSolver
- All Implemented Interfaces:
Optimisation, Optimisation.Solver, UpdatableSolver
Requires the initial basis to be feasible (doesn't do a phase-1).
-
Nested Class Summary
Nested classes/interfaces inherited from class SimplexSolver
SimplexSolver.Direction, SimplexSolver.EnterInfo, SimplexSolver.ExitInfo, SimplexSolver.IterDescrNested classes/interfaces inherited from class LinearSolver
LinearSolver.Builder, LinearSolver.Configuration, LinearSolver.ModelIntegration, LinearSolver.NewIntegration, LinearSolver.OldIntegrationNested classes/interfaces inherited from interface Optimisation
Optimisation.Constraint, Optimisation.ConstraintType, Optimisation.Integration<M,S>, Optimisation.Model, Optimisation.Objective, Optimisation.Options, Optimisation.ProblemStructure, Optimisation.Result, Optimisation.Sense, Optimisation.Solver, Optimisation.State -
Field Summary
Fields inherited from class LinearSolver
INTEGRATION, NEWER_DUAL_SOLVER, OLDER_PRIMAL_SOLVERFields inherited from class GenericSolver
options -
Constructor Summary
ConstructorsConstructorDescriptionPrimalSimplexSolver(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 SimplexSolver
basis, build, doDualIterations, doPrimalIterations, doSolveConvexAsDual, doSolveConvexAsPrimal, extractResult, fixVariable, generateCutCandidates, getEntityMap, isDualFeasible, isPrimalFeasible, prepareToIterate, shift, sizeOfDual, sizeOfPrimal, switchToPhase2, updateRangeMethods inherited from class LinearSolver
newBuilder, newBuilder, newGeneralBuilder, newGeneralBuilder, newSolver, newStandardBuilder, newStandardBuilder, solve, toObjectiveFunctionMethods inherited from class GenericSolver
countIterations, countTime, error, getClassSimpleName, getDuration, getState, incrementIterationsCount, isIterationAllowed, isLogDebug, isLogOff, isLogProgress, log, log, log, log, logProgress, printf, resetIterationsCount, setState, setValidator, validate, validateMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Optimisation.Solver
dispose, solveMethods inherited from interface UpdatableSolver
integers, isMapped
-
Constructor Details
-
PrimalSimplexSolver
PrimalSimplexSolver(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
-