#include <TwoOpt.h>
Public Member Functions | |
bool | search (class VRP *V, int i, int criteria) |
bool | route_search (class VRP *V, int r1, int r2, int criteria) |
Private Member Functions | |
bool | evaluate (class VRP *V, int a, int b, int c, int d, int criteria, VRPMove *M) |
bool | move (class VRP *V, VRPMove *M) |
Definition at line 16 of file TwoOpt.h.
bool TwoOpt::evaluate | ( | class VRP * | V, | |
int | a, | |||
int | b, | |||
int | c, | |||
int | d, | |||
int | criteria, | |||
VRPMove * | M | |||
) | [private] |
Considers the Two-Opt move involving the edges a-b and c-d and the provided rules. If the move meets the rules, then the relevant changes to the solution are stored in the VRPMove M and the function returns true. Returns false otherwise.
Definition at line 580 of file TwoOpt.cpp.
Makes the actual solution modification implied by the Two-Opt move involving edges a-b and c-d. Handles both intraroute and interroute moves
Definition at line 890 of file TwoOpt.cpp.
bool TwoOpt::route_search | ( | class VRP * | V, | |
int | r1, | |||
int | r2, | |||
int | criteria | |||
) |
Searches for all two opt moves involving an edge from r1 and an edge from r2.
Definition at line 478 of file TwoOpt.cpp.
bool TwoOpt::search | ( | class VRP * | V, | |
int | i, | |||
int | criteria | |||
) |
Attempts to find the best Two-Opt move involving node b using the specified rules. If acceptable move is found, the move is made and all relevant solution modifications are made.
Definition at line 16 of file TwoOpt.cpp.