|
|
simplex_clp.c File ReferenceImplementation of the functions operating on TSimplex using the Clp backend. More... #include "simplex.h" #include "error.h" #include "geom.h" #include "defines.h" #include <float.h> #include <math.h> #include <string.h> Go to the source code of this file.
Detailed DescriptionImplementation of the functions operating on TSimplex using the Clp backend.
Definition in file simplex_clp.c. Function Documentation
Creates a simplex structure with a given number of columns (i.e., variables) but with no rows (i.e., constraints).
Definition at line 22 of file simplex_clp.c. References TSimplex::fakeRows, INF, TSimplex::lower, TSimplex::lp, NEW, TSimplex::obj, SIMPLEX_TIMEOUT, and TSimplex::upper.
Removes the rows (i.e., constraints) from the simplex structure.
Definition at line 96 of file simplex_clp.c.
Gets the number of columns (i.e., variables) of the simplex structure.
Definition at line 102 of file simplex_clp.c. References TSimplex::lp.
Gets the number of rows (i.e., constraints) of the simplex structure.
Definition at line 107 of file simplex_clp.c. References TSimplex::fakeRows, and TSimplex::lp. Sets the bounds for a given column (i.e., variable).
Definition at line 113 of file simplex_clp.c. References TSimplex::lower, LowerLimit(), TSimplex::lp, TSimplex::upper, and UpperLimit().
Here is the call graph for this function:
Gets the bounds for a given column (i.e., variable).
Definition at line 123 of file simplex_clp.c. References TSimplex::lp, and NewInterval().
Here is the call graph for this function:
Gets a column from the simplex in the form of a linear constraint.
Definition at line 133 of file simplex_clp.c. References AddTerm2LinearConstraint(), InitLinearConstraint(), TSimplex::lp, SetLinearConstraintError(), and SimplexGetColBounds().
Here is the call graph for this function:
Gets a column constraint from the simplex.
Definition at line 159 of file simplex_clp.c. References TSimplex::lp.
Gets a column primal value after solving the simplex.
Definition at line 168 of file simplex_clp.c. References TSimplex::lp.
Gets a column dual value after solving the simplex.
Definition at line 177 of file simplex_clp.c. References TSimplex::lp. Sets the bounds for a given row (i.e., constraint).
Definition at line 187 of file simplex_clp.c. References Error(), TSimplex::fakeRows, LowerLimit(), TSimplex::lp, and UpperLimit().
Here is the call graph for this function:
Gets the bounds for a given row (i.e., constraint).
Definition at line 203 of file simplex_clp.c. References TSimplex::fakeRows, TSimplex::lp, and NewInterval().
Here is the call graph for this function:
Gets a row constraint from the simplex.
Definition at line 213 of file simplex_clp.c. References AddTerm2LinearConstraint(), TSimplex::fakeRows, InitLinearConstraint(), TSimplex::lp, SetLinearConstraintError(), SimplexGetRowBounds(), and SimplexNColumns().
Here is the call graph for this function:
Gets a row primal value after solving the simplex.
Definition at line 251 of file simplex_clp.c. References TSimplex::fakeRows, and TSimplex::lp.
Gets a row dual value after solving the simplex.
Definition at line 260 of file simplex_clp.c. References TSimplex::fakeRows, and TSimplex::lp.
Adds a row (i.e., a constraint) to the simplex. This function adds the row without any process of the constraint. The input linear constraint must have the bound properly expanded (see SimplexExpandBounds) before using this function.
Definition at line 269 of file simplex_clp.c. References GetLinearConstraintCoefficients(), GetLinearConstraintError(), GetLinearConstraintVariables(), GetNumTermsInLinearConstraint(), LowerLimit(), TSimplex::lp, PrintInterval(), PrintLinearConstraint(), SimplexNRows(), TRUE, and UpperLimit().
Here is the call graph for this function:
Sets a new objective function. We always minimize the objective functions. To maximize just invert the linear constraint before setting it as an optimal function.
Definition at line 296 of file simplex_clp.c. References GetLinearConstraintCoefficient(), GetLinearConstraintVariable(), GetNumTermsInLinearConstraint(), TSimplex::lp, TSimplex::obj, and SimplexNColumns().
Here is the call graph for this function:
Gets the current objective function.
Definition at line 322 of file simplex_clp.c. References AddTerm2LinearConstraint(), InitLinearConstraint(), TSimplex::lp, and SimplexNColumns().
Here is the call graph for this function:
Gets the optimal value after optimizing the problem. This function returns the value as given by the simplex engine in use. See SimplexGetOptimalValue for a procedure that adjusts this raw value to get a numerically safe optimal (i.e., it compensates for floating points rounding errors).
Definition at line 337 of file simplex_clp.c. References TSimplex::lp.
Determines an optimal value given a set of constraints and an objective function.
Definition at line 342 of file simplex_clp.c. References EMPTY_BOX, ERROR_IN_PROCESS, TSimplex::fakeRows, TSimplex::lp, REDUCED_BOX, and UNBOUNDED_BOX.
Deletes the TSimplex structure and frees the allocated memory.
Definition at line 377 of file simplex_clp.c. References TSimplex::lower, TSimplex::lp, TSimplex::obj, SimplexNRows(), and TSimplex::upper.
Here is the call graph for this function:
|