 |
vrpRouting
0.3
|
Go to the documentation of this file.
38 #include "cpp_common/fleet.h"
42 namespace initialsol {
64 Solution(problem_ptr),
89 bool is_usable(
false);
91 if (v.feasible_orders().has(o)) {
102 if (!is_usable) v.set_unmovable(std::numeric_limits<TTimestamp>::max());
176 for (
const auto o : not_assigned) {
181 if (!phony_v.is_order_feasible(
orders()[o])) {
185 msg().
error <<
"\n**Illegal Order** pick.opens() + tt > drop.closes() can not be inserted on any vehicle";
192 phony_v.push_back(
orders()[o]);
const Orders & orders() const
std::deque< Vehicle_pickDeliver > m_fleet
The current solution.
std::vector< Vehicle_pickDeliver > get_used_trucks()
Get all the used vehicles.
void set_initial_solution(const Orders &, Identifiers< size_t > &, Identifiers< size_t > &, TTimestamp, bool)
set the vehicle's user's initial solution
Vehicle_pickDeliver get_phony() const
Get a vehicle from the user's defined vehicles.
void push_back(const Order &order)
puts an order at the end of the truck
std::ostringstream error
Stores the error information.
#define pgassert(expr)
Uses the standard assert syntax.
Identifiers< size_t > m_assigned
set of assigned orders
Identifiers< size_t > feasible_orders() const
Identifiers< size_t > m_unassigned
set of unassigned orders
An assert functionality that uses C++ throw().
void invariant() const
class invariant about the orders that have been assigned
void process_unassigned()
Adds unassigned orders to phony vehicles.
bool is_feasible() const
is the solution feasible?
Initial_solution()=delete
Initial solution without information is not valid.
Identifiers< size_t > m_all_orders
set of all orders
void process_given_solution_from_user(TTimestamp, bool)
processes the initial solution given by the user
std::vector< Vehicle_pickDeliver > get_unused_trucks()
Get all the unused vehicles.