#include <ThreeOpt.h>
Public Member Functions | |
bool | route_search (class VRP *V, int r, int criteria) |
Private Member Functions | |
bool | evaluate (class VRP *V, int a, int b, int c, int d, int e, int f, int criteria, VRPMove *M) |
bool | move (class VRP *V, VRPMove *M) |
Definition at line 16 of file ThreeOpt.h.
bool ThreeOpt::evaluate | ( | class VRP * | V, | |
int | a, | |||
int | b, | |||
int | c, | |||
int | d, | |||
int | e, | |||
int | f, | |||
int | criteria, | |||
VRPMove * | M | |||
) | [private] |
Evaluates the Three-Opt move involving the directed edges ab, cd, and ef, subject to the given rules. The function finds the most cost effective of the possible moves and stores the relevant data in the VRPMove M and returns true. If no satisfactory move is found, the function returns false.
Definition at line 214 of file ThreeOpt.cpp.
This function makes the actual solution modification involving the Three-Opt move with the edges V->d[a][b], V->d[c][d], and V->d[e][f].
!!!!
!!!!
!!
Definition at line 305 of file ThreeOpt.cpp.
bool ThreeOpt::route_search | ( | class VRP * | V, | |
int | r, | |||
int | criteria | |||
) |
Searches for a Three-Opt move in route r. If a satisfactory move is found, then the move is made. If no move is found, false is returned.
Definition at line 16 of file ThreeOpt.cpp.