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.