|
PPL C Language Interface
1.2
|
Types and functions for PIP problems. More...
#include <ppl_c_header.h>
Related Functions | |
(Note that these are not member functions.) | |
Symbolic Constants | |
| int | PPL_PIP_PROBLEM_STATUS_UNFEASIBLE |
| Code of the "unfeasible PIP problem" status. More... | |
| int | PPL_PIP_PROBLEM_STATUS_OPTIMIZED |
| Code of the "optimized PIP problem" status. More... | |
| int | PPL_PIP_PROBLEM_CONTROL_PARAMETER_NAME_CUTTING_STRATEGY |
| Code for the PIP problem's "cutting strategy" control parameter name. More... | |
| int | PPL_PIP_PROBLEM_CONTROL_PARAMETER_NAME_PIVOT_ROW_STRATEGY |
| Code for the PIP problem's "pivot row strategy" control parameter name. More... | |
| int | PPL_PIP_PROBLEM_CONTROL_PARAMETER_CUTTING_STRATEGY_FIRST |
| Code of PIP problem's "first" cutting strategy. More... | |
| int | PPL_PIP_PROBLEM_CONTROL_PARAMETER_CUTTING_STRATEGY_DEEPEST |
| Code of PIP problem's "deepest" cutting strategy. More... | |
| int | PPL_PIP_PROBLEM_CONTROL_PARAMETER_CUTTING_STRATEGY_ALL |
| Code of PIP problem's "all" cutting strategy. More... | |
| int | PPL_PIP_PROBLEM_CONTROL_PARAMETER_PIVOT_ROW_STRATEGY_FIRST |
| Code of PIP problem's "first" pivot row strategy. More... | |
| int | PPL_PIP_PROBLEM_CONTROL_PARAMETER_PIVOT_ROW_STRATEGY_MAX_COLUMN |
| Code of PIP problem's "max column" pivot row strategy. More... | |
Constructors, Assignment and Destructor | |
| int | ppl_new_PIP_Problem_from_space_dimension (ppl_PIP_Problem_t *ppip, ppl_dimension_type d) |
Builds a trivial PIP problem of dimension d and writes a handle to it at address ppip. More... | |
| int | ppl_new_PIP_Problem_from_PIP_Problem (ppl_PIP_Problem_t *ppip, ppl_const_PIP_Problem_t pip) |
Builds a PIP problem that is a copy of pip; writes a handle for the newly created problem at address ppip. More... | |
| int | ppl_assign_PIP_Problem_from_PIP_Problem (ppl_PIP_Problem_t dst, ppl_const_PIP_Problem_t src) |
Assigns a copy of the PIP problem src to dst. More... | |
| int | ppl_new_PIP_Problem_from_constraints (ppl_PIP_Problem_t *ppip, ppl_dimension_type d, ppl_Constraint_System_const_iterator_t first, ppl_Constraint_System_const_iterator_t last, size_t n, ppl_dimension_type ds[]) |
Builds a PIP problem having space dimension d from the sequence of constraints in the range ; the n dimensions whose indices occur in ds are interpreted as parameters. More... | |
| int | ppl_delete_PIP_Problem (ppl_const_PIP_Problem_t pip) |
Invalidates the handle pip: this makes sure the corresponding resources will eventually be released. More... | |
Functions that Do Not Modify the PIP_Problem | |
| int | ppl_PIP_Problem_space_dimension (ppl_const_PIP_Problem_t pip, ppl_dimension_type *m) |
Writes to m the dimension of the vector space enclosing pip. More... | |
| int | ppl_PIP_Problem_number_of_parameter_space_dimensions (ppl_const_PIP_Problem_t pip, ppl_dimension_type *m) |
Writes to m the number of parameter space dimensions of pip. More... | |
| int | ppl_PIP_Problem_parameter_space_dimensions (ppl_const_PIP_Problem_t pip, ppl_dimension_type ds[]) |
Writes in the first positions of the array ds all the parameter space dimensions of problem pip. If the array is not big enough to hold all of the parameter space dimensions, the behavior is undefined. More... | |
| int | ppl_PIP_Problem_get_big_parameter_dimension (ppl_const_PIP_Problem_t pip, ppl_dimension_type *pd) |
Writes into *pd the big parameter dimension of PIP problem pip. More... | |
| int | ppl_PIP_Problem_number_of_constraints (ppl_const_PIP_Problem_t pip, ppl_dimension_type *m) |
Writes to m the number of constraints defining the feasible region of pip. More... | |
| int | ppl_PIP_Problem_constraint_at_index (ppl_const_PIP_Problem_t pip, 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 PIP problem pip. More... | |
| int | ppl_PIP_Problem_total_memory_in_bytes (ppl_const_PIP_Problem_t pip, size_t *sz) |
Writes into *sz the size in bytes of the memory occupied by pip. More... | |
| int | ppl_PIP_Problem_external_memory_in_bytes (ppl_const_PIP_Problem_t pip, size_t *sz) |
Writes into *sz the size in bytes of the memory managed by pip. More... | |
| int | ppl_PIP_Problem_OK (ppl_const_PIP_Problem_t pip) |
Returns a positive integer if pip is well formed, i.e., if it satisfies all its implementation invariants; returns 0 and perhaps makes some noise if pip is broken. Useful for debugging purposes. More... | |
Functions that May Modify the PIP_Problem | |
| int | ppl_PIP_Problem_clear (ppl_PIP_Problem_t pip) |
| Resets the PIP problem to be a trivial problem of space dimension 0. More... | |
| int | ppl_PIP_Problem_add_space_dimensions_and_embed (ppl_PIP_Problem_t pip, ppl_dimension_type pip_vars, ppl_dimension_type pip_params) |
Adds pip_vars + pip_params new space dimensions and embeds the PIP problem pip in the new vector space. More... | |
| int | ppl_PIP_Problem_add_to_parameter_space_dimensions (ppl_PIP_Problem_t pip, ppl_dimension_type ds[], size_t n) |
Sets the space dimensions that are specified in first n positions of the array ds to be parameter dimensions of problem pip. The presence of duplicates in ds is a waste but an innocuous one. More... | |
| int | ppl_PIP_Problem_set_big_parameter_dimension (ppl_PIP_Problem_t pip, ppl_dimension_type d) |
Sets the big parameter dimension of PIP problem pip to d. More... | |
| int | ppl_PIP_Problem_add_constraint (ppl_PIP_Problem_t pip, ppl_const_Constraint_t c) |
Modifies the feasible region of the PIP problem pip by adding a copy of the constraint c. More... | |
| int | ppl_PIP_Problem_add_constraints (ppl_PIP_Problem_t pip, ppl_const_Constraint_System_t cs) |
Modifies the feasible region of the PIP problem pip by adding a copy of the constraints in cs. More... | |
Computing and Printing the Solution of the PIP_Problem | |
| int | ppl_PIP_Problem_is_satisfiable (ppl_const_PIP_Problem_t pip) |
Returns a positive integer if pip is satisfiable and an optimal solution can be found; returns 0 otherwise. More... | |
| int | ppl_PIP_Problem_solve (ppl_const_PIP_Problem_t pip) |
Solves the PIP problem pip, returning an exit status. More... | |
| int | ppl_PIP_Problem_solution (ppl_const_PIP_Problem_t pip, ppl_const_PIP_Tree_Node_t *pip_tree) |
Writes to pip_tree a solution for pip, if it exists. More... | |
| int | ppl_PIP_Problem_optimizing_solution (ppl_const_PIP_Problem_t pip, ppl_const_PIP_Tree_Node_t *pip_tree) |
Writes to pip_tree an optimizing solution for pip, if it exists. More... | |
Querying/Setting Control Parameters | |
| int | ppl_PIP_Problem_get_control_parameter (ppl_const_PIP_Problem_t pip, int name) |
Returns the value of control parameter name in problem pip. More... | |
| int | ppl_PIP_Problem_set_control_parameter (ppl_PIP_Problem_t pip, int value) |
Sets control parameter value in problem pip. More... | |
Types and functions for PIP problems.
The types and functions for PIP problems provide an interface towards PIP_Problem.
|
related |
Assigns a copy of the PIP problem src to dst.
Definition at line 2145 of file ppl_c_implementation_common.cc.
|
related |
Invalidates the handle pip: this makes sure the corresponding resources will eventually be released.
Definition at line 2155 of file ppl_c_implementation_common.cc.
|
related |
Builds a PIP problem having space dimension d from the sequence of constraints in the range
; the n dimensions whose indices occur in ds are interpreted as parameters.
Definition at line 2129 of file ppl_c_implementation_common.cc.
|
related |
Builds a PIP problem that is a copy of pip; writes a handle for the newly created problem at address ppip.
Definition at line 2119 of file ppl_c_implementation_common.cc.
|
related |
Builds a trivial PIP problem of dimension d and writes a handle to it at address ppip.
Definition at line 2111 of file ppl_c_implementation_common.cc.
|
related |
Modifies the feasible region of the PIP problem pip by adding a copy of the constraint c.
Definition at line 2243 of file ppl_c_implementation_common.cc.
|
related |
Modifies the feasible region of the PIP problem pip by adding a copy of the constraints in cs.
Definition at line 2253 of file ppl_c_implementation_common.cc.
|
related |
Adds pip_vars + pip_params new space dimensions and embeds the PIP problem pip in the new vector space.
| pip | The PIP problem to be embedded in the new vector space. |
| pip_vars | The number of space dimensions to add that are interpreted as PIP problem variables (i.e., non parameters). These are added before adding the pip_params parameters. |
| pip_params | The number of space dimensions to add that are interpreted as PIP problem parameters. These are added after having added the pip_vars problem variables. |
The new space dimensions will be those having the highest indexes in the new PIP problem; they are initially unconstrained.
Definition at line 2221 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 parameter dimensions of problem pip. The presence of duplicates in ds is a waste but an innocuous one.
Definition at line 2231 of file ppl_c_implementation_common.cc.
|
related |
Resets the PIP problem to be a trivial problem of space dimension 0.
Definition at line 2215 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 PIP problem pip.
Definition at line 2200 of file ppl_c_implementation_common.cc.
|
related |
Code of PIP problem's "all" cutting strategy.
Definition at line 2489 of file ppl_c_header.h.
|
related |
Code of PIP problem's "deepest" cutting strategy.
Definition at line 2484 of file ppl_c_header.h.
|
related |
Code of PIP problem's "first" cutting strategy.
Definition at line 2479 of file ppl_c_header.h.
|
related |
Code for the PIP problem's "cutting strategy" control parameter name.
Definition at line 2469 of file ppl_c_header.h.
|
related |
Code for the PIP problem's "pivot row strategy" control parameter name.
Definition at line 2474 of file ppl_c_header.h.
|
related |
Code of PIP problem's "first" pivot row strategy.
Definition at line 2494 of file ppl_c_header.h.
|
related |
Code of PIP problem's "max column" pivot row strategy.
Definition at line 2499 of file ppl_c_header.h.
|
related |
Writes into *sz the size in bytes of the memory managed by pip.
Definition at line 2338 of file ppl_c_implementation_common.cc.
|
related |
Writes into *pd the big parameter dimension of PIP problem pip.
Definition at line 2314 of file ppl_c_implementation_common.cc.
Returns the value of control parameter name in problem pip.
Definition at line 2295 of file ppl_c_implementation_common.cc.
|
related |
Returns a positive integer if pip is satisfiable and an optimal solution can be found; returns 0 otherwise.
Definition at line 2262 of file ppl_c_implementation_common.cc.
|
related |
Writes to m the number of constraints defining the feasible region of pip.
Definition at line 2191 of file ppl_c_implementation_common.cc.
|
related |
Writes to m the number of parameter space dimensions of pip.
Definition at line 2171 of file ppl_c_implementation_common.cc.
|
related |
Returns a positive integer if pip is well formed, i.e., if it satisfies all its implementation invariants; returns 0 and perhaps makes some noise if pip is broken. Useful for debugging purposes.
Definition at line 2289 of file ppl_c_implementation_common.cc.
|
related |
Writes to pip_tree an optimizing solution for pip, if it exists.
Definition at line 2281 of file ppl_c_implementation_common.cc.
|
related |
Writes in the first positions of the array ds all the parameter space dimensions of problem pip. If the array is not big enough to hold all of the parameter space dimensions, the behavior is undefined.
Definition at line 2179 of file ppl_c_implementation_common.cc.
|
related |
Sets the big parameter dimension of PIP problem pip to d.
Definition at line 2322 of file ppl_c_implementation_common.cc.
Sets control parameter value in problem pip.
Definition at line 2304 of file ppl_c_implementation_common.cc.
|
related |
Writes to pip_tree a solution for pip, if it exists.
Definition at line 2273 of file ppl_c_implementation_common.cc.
|
related |
Solves the PIP problem pip, returning an exit status.
PPL_PIP_PROBLEM_STATUS_UNFEASIBLE if the PIP problem is not satisfiable; PPL_PIP_PROBLEM_STATUS_OPTIMIZED if the PIP problem admits an optimal solution. Definition at line 2267 of file ppl_c_implementation_common.cc.
|
related |
Writes to m the dimension of the vector space enclosing pip.
The vector space dimensions includes both the problem variables and the problem parameters, but they do not include the artificial parameters.
Definition at line 2162 of file ppl_c_implementation_common.cc.
|
related |
Code of the "optimized PIP problem" status.
Definition at line 2464 of file ppl_c_header.h.
|
related |
Code of the "unfeasible PIP problem" status.
Definition at line 2459 of file ppl_c_header.h.
|
related |
Writes into *sz the size in bytes of the memory occupied by pip.
Definition at line 2330 of file ppl_c_implementation_common.cc.