VRPH
1.0
|
#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) |
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.
bool TwoOpt::move | ( | class VRP * | V, |
VRPMove * | M | ||
) | [private] |
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.