## org.apache.commons.math3.optim.linear
Class LinearOptimizer

    java.lang.Object
      org.apache.commons.math3.optim.BaseOptimizer<PAIR>
          org.apache.commons.math3.optim.BaseMultivariateOptimizer<PointValuePair>
              org.apache.commons.math3.optim.nonlinear.scalar.MultivariateOptimizer
                  org.apache.commons.math3.optim.linear.LinearOptimizer

Direct Known Subclasses:
  SimplexSolver

    public abstract class LinearOptimizer

extends MultivariateOptimizer

Base class for implementing linear optimizers.

Since:
  3.1
Version:
  $Id: AbstractLinearOptimizer.java 1416643 2012-12-03 19:37:14Z tn $

Field Summary
`private LinearObjectiveFunction` `function` Linear objective function.
`private java.util.Collection<LinearConstraint>` `linearConstraints` Linear constraints.
`private boolean` `nonNegative` Whether to restrict the variables to non-negative values.

Fields inherited from class org.apache.commons.math3.optim.BaseOptimizer
`evaluations, iterations`

Constructor Summary
`protected` `LinearOptimizer()` Simple constructor with default settings.

Method Summary
`protected java.util.Collection<LinearConstraint>` `getConstraints()`
`protected LinearObjectiveFunction` `getFunction()`
`protected boolean` `isRestrictedToNonNegative()`
`PointValuePair` `optimize(OptimizationData... optData)` Stores data and performs the optimization.
`private void` `parseOptimizationData(OptimizationData... optData)` Scans the list of (required and optional) optimization data that characterize the problem.

Methods inherited from class org.apache.commons.math3.optim.nonlinear.scalar.MultivariateOptimizer
`computeObjectiveValue, getGoalType`

Methods inherited from class org.apache.commons.math3.optim.BaseMultivariateOptimizer
`getLowerBound, getStartPoint, getUpperBound`

Methods inherited from class org.apache.commons.math3.optim.BaseOptimizer
`doOptimize, getConvergenceChecker, getEvaluations, getIterations, getMaxEvaluations, getMaxIterations, incrementEvaluationCount, incrementIterationCount`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### function

    private LinearObjectiveFunction function

  Linear objective function.

### linearConstraints

    private java.util.Collection<LinearConstraint> linearConstraints

  Linear constraints.

### nonNegative

    private boolean nonNegative

  Whether to restrict the variables to non-negative values.

Constructor Detail

### LinearOptimizer

    protected LinearOptimizer()

  Simple constructor with default settings.

Method Detail

### isRestrictedToNonNegative

    protected boolean isRestrictedToNonNegative()

  Returns:
    `true` if the variables are restricted to non-negative values.

### getFunction

    protected LinearObjectiveFunction getFunction()

  Returns:
    the optimization type.

### getConstraints

    protected java.util.Collection<LinearConstraint> getConstraints()

  Returns:
    the optimization type.

### optimize

    public PointValuePair optimize(OptimizationData... optData)
                            throws TooManyIterationsException

  Stores data and performs the optimization.

  Overrides:
    `optimize` in class `MultivariateOptimizer`
  Parameters:
    `optData` - Optimization data. The following data will be looked for:
    - `MaxIter`
    - `LinearObjectiveFunction`
    - `LinearConstraintSet`
    - `NonNegativeConstraint`
  Returns:
    a point/value pair that satifies the convergence criteria.
  Throws:
    `TooManyIterationsException` - if the maximal number of iterations is exceeded.

### parseOptimizationData

    private void parseOptimizationData(OptimizationData... optData)

  Scans the list of (required and optional) optimization data that characterize the problem.

  Parameters:
    `optData` - Optimization data. The following data will be looked for:
    - `LinearObjectiveFunction`
    - `LinearConstraintSet`
    - `NonNegativeConstraint`

Copyright (c) 2003-2013 Apache Software Foundation