|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--drasys.or.graph.vrp.VRPBase | +--drasys.or.graph.vrp.ConstructBase | +--drasys.or.graph.vrp.BestOf
This class implements a composite VRP algorithm by combining a set of construction algorithms with a set of improvement algorithms. A composite VRP algorithm is one that has a construction phase followed by an improvement phase. In the VRP package all basic algorithms are implemented as either a pure construction or improvement class with the associated interface. This class implements the construction phase by constructing a solution using each of the construction algorithms and retaining the best. Then in the improvement phase each of the improvement algorithms are applied in turn to improve the retained solution. If the new solution is an improvement then it becomes the retained solution.
Fields inherited from class drasys.or.graph.vrp.ConstructBase |
_selected |
Fields inherited from class drasys.or.graph.vrp.VRPBase |
_closed,
_depotKey,
_edgeKey,
_graph,
_maxCost,
_maxLoad,
_out,
_properties,
_vehicleCost |
Constructor Summary | |
BestOf()
|
|
BestOf(GraphI graph)
|
Method Summary | |
void |
addConstruct(ConstructI construct)
Adds a construction algorithm. |
void |
addConstruct(ConstructI construct,
int minSize,
int maxSize)
Adds a construction algorithm. |
void |
addImprove(ImproveI improve)
Adds an improvement algorithm. |
void |
addImprove(ImproveI improve,
int minSize,
int maxSize)
Adds an improvement algorithm. |
double |
constructClosedTours(java.lang.Object depotKey)
Construct a solution with closed tours that begin and end at the depot vertex. |
double |
constructInboundTours(java.lang.Object depotKey)
Construct a solution with open tours that begin at arbitrary vertices and end at the depot vertex. |
double |
constructOutboundTours(java.lang.Object depotKey)
Construct a solution with open tours that begin at the depot vertex and end at arbitrary vertices. |
double |
getCost()
Returns the total cost of the solution tours. |
double[] |
getCosts()
Returns the cost of each tour in the solution. |
double[] |
getLoads()
Returns the load for each tour in the solution. |
java.util.Vector[] |
getTours()
Returns the improved tour from the construction algorithm. |
void |
setCapacityConstraint(double maxLoadPerVehicle)
Sets the vehicle capacity constraint. |
void |
setCostConstraint(double maxCostPerVehicle)
Sets the vehicle cost constraint. |
void |
setEdgeKey(java.lang.Object edgeKey)
Sets the edge key for all of the contained VRP algorithms. |
void |
setGraph(GraphI graph)
Sets the graph for all of the contained VRP algorithms. |
void |
setProperties(PropertiesI properties)
Sets the properties object for all of the contained VRP algorithms. |
void |
setVehicleCost(double vehicleCost)
Sets the vehicle cost. |
Methods inherited from class drasys.or.graph.vrp.ConstructBase |
isSelected,
selectVertex,
selectVertex,
selectVertex,
sizeOfSelected |
Methods inherited from class drasys.or.graph.vrp.VRPBase |
copyTours,
getCost,
getGraph,
getLoad,
getLoads |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Constructor Detail |
public BestOf()
public BestOf(GraphI graph)
Method Detail |
public void addConstruct(ConstructI construct)
public void addConstruct(ConstructI construct, int minSize, int maxSize)
public void addImprove(ImproveI improve)
public void addImprove(ImproveI improve, int minSize, int maxSize)
public void setGraph(GraphI graph)
public void setProperties(PropertiesI properties)
public void setEdgeKey(java.lang.Object edgeKey)
public void setVehicleCost(double vehicleCost)
public void setCostConstraint(double maxCostPerVehicle)
public void setCapacityConstraint(double maxLoadPerVehicle)
public double constructOutboundTours(java.lang.Object depotKey) throws SolutionNotFoundException, VertexNotFoundException
public double constructInboundTours(java.lang.Object depotKey) throws SolutionNotFoundException, VertexNotFoundException
public double constructClosedTours(java.lang.Object depotKey) throws SolutionNotFoundException, VertexNotFoundException
public java.util.Vector[] getTours() throws SolutionNotFoundException
public double getCost() throws SolutionNotFoundException
public double[] getLoads() throws SolutionNotFoundException
public double[] getCosts() throws SolutionNotFoundException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |