The class for solving the Generalised Assignment problem using Iterative Rounding. More...
#include <generalised_assignment.hpp>
Public Types | |
| using | Job = typename std::iterator_traits< JobIter >::value_type |
| using | Machine = typename std::iterator_traits< MachineIter >::value_type |
| using | Compare = utils::compare< double > |
| using | MachineRows = std::unordered_set< lp::row_id > |
| using | ColIdx = std::vector< lp::col_id > |
| using | ErrorMessage = boost::optional< std::string > |
Public Member Functions | |
| generalised_assignment (MachineIter mbegin, MachineIter mend, JobIter jbegin, JobIter jend, const Cost &c, const ProceedingTime &t, const MachineAvailableTime &T, JobsToMachinesOutputIterator job_to_machines) | |
| ErrorMessage | check_input_validity () |
| std::size_t | idx (std::size_t j_idx, std::size_t m_idx) |
| std::size_t | get_j_idx (std::size_t idx) |
| std::size_t | get_m_idx (std::size_t idx) |
| MachineRows & | get_machine_rows () |
| Compare | get_compare () |
| std::size_t | get_machines_cnt () const |
| std::size_t | get_jobs_cnt () const |
| boost::iterator_range < MachineIter > | get_machines () |
| boost::iterator_range< JobIter > | get_jobs () |
| ColIdx & | get_col_idx () |
| JobsToMachinesOutputIterator | get_job_to_machines () |
| const ProceedingTime & | get_proceeding_time () |
| const MachineAvailableTime & | get_machine_available_time () |
| const Cost & | get_cost () const |
The class for solving the Generalised Assignment problem using Iterative Rounding.
| MachineIter | |
| JobIter | |
| Cost | |
| ProceedingTime | |
| MachineAvailableTime | |
| JobsToMachinesOutputIterator |
Definition at line 170 of file generalised_assignment.hpp.
|
inline |
Constructor.
Definition at line 184 of file generalised_assignment.hpp.
|
inline |
Checks if input is valid.
Definition at line 196 of file generalised_assignment.hpp.
|
inline |
Returns the vector of LP column IDs.
Definition at line 254 of file generalised_assignment.hpp.
|
inline |
Returns the double comparison object.
Definition at line 225 of file generalised_assignment.hpp.
|
inline |
Returns the cost function (function from (job, machine) pairs into the cost of executing the job on the machine).
Definition at line 279 of file generalised_assignment.hpp.
|
inline |
Returns the index of a job given the index of the edge between the job and a machine.
Definition at line 209 of file generalised_assignment.hpp.
|
inline |
Returns the result output iterator.
Definition at line 259 of file generalised_assignment.hpp.
|
inline |
Returns the jobs iterator range.
Definition at line 247 of file generalised_assignment.hpp.
|
inline |
Returns the number of jobs in the problem.
Definition at line 235 of file generalised_assignment.hpp.
|
inline |
Returns the index of a machine given the index of the edge between a job and the machine.
Definition at line 215 of file generalised_assignment.hpp.
|
inline |
Returns the machine available time function (function returning the time available on a given machine).
Definition at line 273 of file generalised_assignment.hpp.
|
inline |
Returns the LP rows corresponding to the machines.
Definition at line 220 of file generalised_assignment.hpp.
|
inline |
Returns the machines iterator range.
Definition at line 240 of file generalised_assignment.hpp.
|
inline |
Returns the number of machines in the problem.
Definition at line 230 of file generalised_assignment.hpp.
|
inline |
Returns the proceeding time function (function from (job, machine) pairs into the proceeding time of the job on the machine).
Definition at line 267 of file generalised_assignment.hpp.
|
inline |
Returns the index of the edge between a given job and a given machine.
Definition at line 203 of file generalised_assignment.hpp.
1.8.5