/* 120:    */
 /* 121:    */ public PointValuePair doOptimize()
     /* 122:    */ throws MaxCountExceededException, UnboundedSolutionException,
         NoFeasibleSolutionException
       /* 123:    */ {
   /* 124:187 */ SimplexTableau tableau =
       new SimplexTableau(
           getFunction(),
           getConstraints(),
           getGoalType(),
           restrictToNonNegative(),
           this.epsilon,
           this.maxUlps);
   /* 125:    */
   /* 126:    */
   /* 127:    */
   /* 128:    */
   /* 129:    */
   /* 130:    */
   /* 131:    */
   /* 132:195 */ solvePhase1(tableau);
   /* 133:196 */ tableau.dropPhase1Objective();
   /* 134:198 */ while (!tableau.isOptimal()) {
     /* 135:199 */ doIteration(tableau);
     /* 136:    */ }
   /* 137:201 */ return tableau.getSolution();
   /* 138:    */ }
Exemple #2
0
 /** {@inheritDoc} */
 @Override
 public RealPointValuePair doOptimize() throws OptimizationException {
   final SimplexTableau tableau =
       new SimplexTableau(f, constraints, goalType, restrictToNonNegative, epsilon);
   solvePhase1(tableau);
   tableau.discardArtificialVariables();
   while (!isOptimal(tableau)) {
     doIteration(tableau);
   }
   return tableau.getSolution();
 }
Exemple #3
0
  /** {@inheritDoc} */
  @Override
  public PointValuePair doOptimize()
      throws MaxCountExceededException, UnboundedSolutionException, NoFeasibleSolutionException {
    final SimplexTableau tableau =
        new SimplexTableau(
            getFunction(),
            getConstraints(),
            getGoalType(),
            restrictToNonNegative(),
            epsilon,
            maxUlps);

    solvePhase1(tableau);
    tableau.dropPhase1Objective();

    while (!tableau.isOptimal()) {
      doIteration(tableau);
    }
    return tableau.getSolution();
  }