PPL C Language Interface
1.2
|
Types and functions for MIP problems. More...
#include <ppl_c_header.h>
Related Functions | |
(Note that these are not member functions.) | |
Symbolic Constants | |
int | PPL_OPTIMIZATION_MODE_MAXIMIZATION |
Code of the "maximization" optimization mode. More... | |
int | PPL_OPTIMIZATION_MODE_MINIMIZATION |
Code of the "minimization" optimization mode. More... | |
int | PPL_MIP_PROBLEM_STATUS_UNFEASIBLE |
Code of the "unfeasible MIP problem" status. More... | |
int | PPL_MIP_PROBLEM_STATUS_UNBOUNDED |
Code of the "unbounded MIP problem" status. More... | |
int | PPL_MIP_PROBLEM_STATUS_OPTIMIZED |
Code of the "optimized MIP problem" status. More... | |
int | PPL_MIP_PROBLEM_CONTROL_PARAMETER_NAME_PRICING |
Code for the MIP problem's "pricing" control parameter name. More... | |
int | PPL_MIP_PROBLEM_CONTROL_PARAMETER_PRICING_TEXTBOOK |
Code of MIP problem's "textbook" pricing method. More... | |
int | PPL_MIP_PROBLEM_CONTROL_PARAMETER_PRICING_STEEPEST_EDGE_EXACT |
Code of MIP problem's "exact steepest-edge" pricing method. More... | |
int | PPL_MIP_PROBLEM_CONTROL_PARAMETER_PRICING_STEEPEST_EDGE_FLOAT |
Code of MIP problem's "float steepest-edge" pricing method. More... | |
Constructors, Assignment and Destructor | |
int | ppl_new_MIP_Problem_from_space_dimension (ppl_MIP_Problem_t *pmip, ppl_dimension_type d) |
Builds a trivial MIP problem of dimension d and writes a handle to it at address pmip . More... | |
int | ppl_new_MIP_Problem (ppl_MIP_Problem_t *pmip, ppl_dimension_type d, ppl_const_Constraint_System_t cs, ppl_const_Linear_Expression_t le, int m) |
Builds a MIP problem of space dimension d having feasible region cs , objective function le and optimization mode m ; writes a handle to it at address pmip . More... | |
int | ppl_new_MIP_Problem_from_MIP_Problem (ppl_MIP_Problem_t *pmip, ppl_const_MIP_Problem_t mip) |
Builds a MIP problem that is a copy of mip ; writes a handle for the newly created system at address pmip . More... | |
int | ppl_assign_MIP_Problem_from_MIP_Problem (ppl_MIP_Problem_t dst, ppl_const_MIP_Problem_t src) |
Assigns a copy of the MIP problem src to dst . More... | |
int | ppl_delete_MIP_Problem (ppl_const_MIP_Problem_t mip) |
Invalidates the handle mip: this makes sure the corresponding resources will eventually be released. More... | |
Functions that Do Not Modify the MIP_Problem | |
int | ppl_MIP_Problem_space_dimension (ppl_const_MIP_Problem_t mip, ppl_dimension_type *m) |
Writes to m the dimension of the vector space enclosing mip . More... | |
int | ppl_MIP_Problem_number_of_integer_space_dimensions (ppl_const_MIP_Problem_t mip, ppl_dimension_type *m) |
Writes to m the number of integer space dimensions of mip . More... | |
int | ppl_MIP_Problem_integer_space_dimensions (ppl_const_MIP_Problem_t mip, ppl_dimension_type ds[]) |
Writes in the first positions of the array ds all the integer space dimensions of problem mip . If the array is not big enough to hold all of the integer space dimensions, the behavior is undefined. More... | |
int | ppl_MIP_Problem_number_of_constraints (ppl_const_MIP_Problem_t mip, ppl_dimension_type *m) |
Writes to m the number of constraints defining the feasible region of mip . More... | |
int | ppl_MIP_Problem_constraint_at_index (ppl_const_MIP_Problem_t mip, ppl_dimension_type i, ppl_const_Constraint_t *pc) |
Writes at address pc a const handle to the i-th constraint defining the feasible region of the MIP problem mip . More... | |
int | ppl_MIP_Problem_objective_function (ppl_const_MIP_Problem_t mip, ppl_const_Linear_Expression_t *ple) |
Writes a const handle to the linear expression defining the objective function of the MIP problem mip at address ple . More... | |
int | ppl_MIP_Problem_optimization_mode (ppl_const_MIP_Problem_t mip) |
Returns the optimization mode of the MIP problem mip . More... | |
int | ppl_MIP_Problem_OK (ppl_const_MIP_Problem_t mip) |
Returns a positive integer if mip is well formed, i.e., if it satisfies all its implementation invariants; returns 0 and perhaps makes some noise if mip is broken. Useful for debugging purposes. More... | |
Functions that May Modify the MIP_Problem | |
int | ppl_MIP_Problem_clear (ppl_MIP_Problem_t mip) |
Resets the MIP problem to be a trivial problem of space dimension 0. More... | |
int | ppl_MIP_Problem_add_space_dimensions_and_embed (ppl_MIP_Problem_t mip, ppl_dimension_type d) |
Adds d new dimensions to the space enclosing the MIP problem mip and to mip itself. More... | |
int | ppl_MIP_Problem_add_to_integer_space_dimensions (ppl_MIP_Problem_t mip, ppl_dimension_type ds[], size_t n) |
Sets the space dimensions that are specified in first n positions of the array ds to be integer dimensions of problem mip . The presence of duplicates in ds is a waste but an innocuous one. More... | |
int | ppl_MIP_Problem_add_constraint (ppl_MIP_Problem_t mip, ppl_const_Constraint_t c) |
Modifies the feasible region of the MIP problem mip by adding a copy of the constraint c . More... | |
int | ppl_MIP_Problem_add_constraints (ppl_MIP_Problem_t mip, ppl_const_Constraint_System_t cs) |
Modifies the feasible region of the MIP problem mip by adding a copy of the constraints in cs . More... | |
int | ppl_MIP_Problem_set_objective_function (ppl_MIP_Problem_t mip, ppl_const_Linear_Expression_t le) |
Sets the objective function of the MIP problem mip to a copy of le . More... | |
int | ppl_MIP_Problem_set_optimization_mode (ppl_MIP_Problem_t mip, int mode) |
Sets the optimization mode of the MIP problem mip to mode . More... | |
Computing the Solution of the MIP_Problem | |
int | ppl_MIP_Problem_is_satisfiable (ppl_const_MIP_Problem_t mip) |
Returns a positive integer if mip is satisfiable; returns 0 otherwise. More... | |
int | ppl_MIP_Problem_solve (ppl_const_MIP_Problem_t mip) |
Solves the MIP problem mip , returning an exit status. More... | |
int | ppl_MIP_Problem_evaluate_objective_function (ppl_const_MIP_Problem_t mip, ppl_const_Generator_t g, ppl_Coefficient_t num, ppl_Coefficient_t den) |
Evaluates the objective function of mip on point g . More... | |
int | ppl_MIP_Problem_feasible_point (ppl_const_MIP_Problem_t mip, ppl_const_Generator_t *pg) |
Writes a const handle to a feasible point for the MIP problem mip at address pg . More... | |
int | ppl_MIP_Problem_optimizing_point (ppl_const_MIP_Problem_t mip, ppl_const_Generator_t *pg) |
Writes a const handle to an optimizing point for the MIP problem mip at address pg . More... | |
int | ppl_MIP_Problem_optimal_value (ppl_const_MIP_Problem_t mip, ppl_Coefficient_t num, ppl_Coefficient_t den) |
Returns the optimal value for mip . More... | |
Querying/Setting Control Parameters | |
int | ppl_MIP_Problem_get_control_parameter (ppl_const_MIP_Problem_t mip, int name) |
Returns the value of control parameter name in problem mip . More... | |
int | ppl_MIP_Problem_set_control_parameter (ppl_MIP_Problem_t mip, int value) |
Sets control parameter value in problem mip . More... | |
int | ppl_MIP_Problem_total_memory_in_bytes (ppl_const_MIP_Problem_t mip, size_t *sz) |
Writes into *sz the size in bytes of the memory occupied by mip . More... | |
int | ppl_MIP_Problem_external_memory_in_bytes (ppl_const_MIP_Problem_t mip, size_t *sz) |
Writes into *sz the size in bytes of the memory managed by mip . More... | |
Types and functions for MIP problems.
The types and functions for MIP problems provide an interface towards MIP_Problem.
|
related |
Assigns a copy of the MIP problem src
to dst
.
Definition at line 1867 of file ppl_c_implementation_common.cc.
|
related |
Invalidates the handle mip:
this makes sure the corresponding resources will eventually be released.
Definition at line 1860 of file ppl_c_implementation_common.cc.
|
related |
Modifies the feasible region of the MIP problem mip
by adding a copy of the constraint c
.
Definition at line 1975 of file ppl_c_implementation_common.cc.
|
related |
Modifies the feasible region of the MIP problem mip
by adding a copy of the constraints in cs
.
Definition at line 1985 of file ppl_c_implementation_common.cc.
|
related |
Adds d
new dimensions to the space enclosing the MIP problem mip
and to mip
itself.
Definition at line 1953 of file ppl_c_implementation_common.cc.
|
related |
Sets the space dimensions that are specified in first n
positions of the array ds
to be integer dimensions of problem mip
. The presence of duplicates in ds
is a waste but an innocuous one.
Definition at line 1962 of file ppl_c_implementation_common.cc.
|
related |
Resets the MIP problem to be a trivial problem of space dimension 0.
Definition at line 1946 of file ppl_c_implementation_common.cc.
|
related |
Writes at address pc
a const handle to the i-th
constraint defining the feasible region of the MIP problem mip
.
Definition at line 1915 of file ppl_c_implementation_common.cc.
|
related |
Code for the MIP problem's "pricing" control parameter name.
Definition at line 2437 of file ppl_c_header.h.
|
related |
Code of MIP problem's "exact steepest-edge" pricing method.
Definition at line 2447 of file ppl_c_header.h.
|
related |
Code of MIP problem's "float steepest-edge" pricing method.
Definition at line 2452 of file ppl_c_header.h.
|
related |
Code of MIP problem's "textbook" pricing method.
Definition at line 2442 of file ppl_c_header.h.
|
related |
Evaluates the objective function of mip
on point g
.
mip | The MIP problem defining the objective function; |
g | The generator on which the objective function will be evaluated; |
num | Will be assigned the numerator of the objective function value; |
den | Will be assigned the denominator of the objective function value; |
Definition at line 2027 of file ppl_c_implementation_common.cc.
|
related |
Writes into *sz
the size in bytes of the memory managed by mip
.
Definition at line 2103 of file ppl_c_implementation_common.cc.
|
related |
Writes a const handle to a feasible point for the MIP problem mip
at address pg
.
Definition at line 2041 of file ppl_c_implementation_common.cc.
Returns the value of control parameter name
in problem mip
.
Definition at line 2070 of file ppl_c_implementation_common.cc.
|
related |
Writes in the first positions of the array ds
all the integer space dimensions of problem mip
. If the array is not big enough to hold all of the integer space dimensions, the behavior is undefined.
Definition at line 1894 of file ppl_c_implementation_common.cc.
|
related |
Returns a positive integer if mip
is satisfiable; returns 0 otherwise.
Definition at line 2015 of file ppl_c_implementation_common.cc.
|
related |
Writes to m
the number of constraints defining the feasible region of mip
.
Definition at line 1906 of file ppl_c_implementation_common.cc.
|
related |
Writes to m
the number of integer space dimensions of mip
.
Definition at line 1885 of file ppl_c_implementation_common.cc.
|
related |
Writes a const handle to the linear expression defining the objective function of the MIP problem mip
at address ple
.
Definition at line 1931 of file ppl_c_implementation_common.cc.
|
related |
Returns a positive integer if mip
is well formed, i.e., if it satisfies all its implementation invariants; returns 0 and perhaps makes some noise if mip
is broken. Useful for debugging purposes.
Definition at line 2089 of file ppl_c_implementation_common.cc.
|
related |
Returns the optimal value for mip
.
mip | The MIP problem; |
num | Will be assigned the numerator of the optimal value; |
den | Will be assigned the denominator of the optimal value. |
Definition at line 2059 of file ppl_c_implementation_common.cc.
|
related |
Returns the optimization mode of the MIP problem mip
.
Definition at line 1940 of file ppl_c_implementation_common.cc.
|
related |
Writes a const handle to an optimizing point for the MIP problem mip
at address pg
.
Definition at line 2050 of file ppl_c_implementation_common.cc.
Sets control parameter value
in problem mip
.
Definition at line 2079 of file ppl_c_implementation_common.cc.
|
related |
Sets the objective function of the MIP problem mip
to a copy of le
.
Definition at line 1995 of file ppl_c_implementation_common.cc.
Sets the optimization mode of the MIP problem mip
to mode
.
Definition at line 2005 of file ppl_c_implementation_common.cc.
|
related |
Solves the MIP problem mip
, returning an exit status.
PPL_MIP_PROBLEM_STATUS_UNFEASIBLE
if the MIP problem is not satisfiable; PPL_MIP_PROBLEM_STATUS_UNBOUNDED
if the MIP problem is satisfiable but there is no finite bound to the value of the objective function; PPL_MIP_PROBLEM_STATUS_OPTIMIZED
if the MIP problem admits an optimal solution. Definition at line 2021 of file ppl_c_implementation_common.cc.
|
related |
Writes to m
the dimension of the vector space enclosing mip
.
Definition at line 1877 of file ppl_c_implementation_common.cc.
|
related |
Code of the "optimized MIP problem" status.
Definition at line 2432 of file ppl_c_header.h.
|
related |
Code of the "unbounded MIP problem" status.
Definition at line 2427 of file ppl_c_header.h.
|
related |
Code of the "unfeasible MIP problem" status.
Definition at line 2422 of file ppl_c_header.h.
|
related |
Writes into *sz
the size in bytes of the memory occupied by mip
.
Definition at line 2095 of file ppl_c_implementation_common.cc.
|
related |
Builds a MIP problem of space dimension d
having feasible region cs
, objective function le
and optimization mode m
; writes a handle to it at address pmip
.
Definition at line 1837 of file ppl_c_implementation_common.cc.
|
related |
Builds a MIP problem that is a copy of mip
; writes a handle for the newly created system at address pmip
.
Definition at line 1851 of file ppl_c_implementation_common.cc.
|
related |
Builds a trivial MIP problem of dimension d
and writes a handle to it at address pmip
.
Definition at line 1829 of file ppl_c_implementation_common.cc.
|
related |
Code of the "maximization" optimization mode.
Definition at line 2412 of file ppl_c_header.h.
|
related |
Code of the "minimization" optimization mode.
Definition at line 2417 of file ppl_c_header.h.