FRODO Version 2.19.1
An open-source framework for Distributed Constraint Optimization (DCOP)
Loading...
Searching...
No Matches
frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > > Class Template Reference

A solution space for Vehicle Routing Problems. More...

Inheritance diagram for frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >:

Classes

class  VRPiterator
 Iterator. More...
class  VRPiteratorBestFirst
 Best first iterator. More...
class  CustomerAssignment
 Convenience class used by the iterator. More...

Public Member Functions

 VehicleRoutingSpace (int nbrVehicles, float maxDist, int maxLoad, float depotX, float depotY, String[] vars, HashMap< String, AddableInteger[]> domsHashMap, HashMap< String, Customer > customers, HashSet< Customer > selectedCustomers, HashMap< String, Customer > uncertainties, String name, String owner, U infeasibleUtil, final int minSplit, ProblemInterface< AddableInteger, ?> problem)
 Constructor.
String toString ()
VehicleRoutingSpace< U > changeVariablesOrder (String[] variablesOrder)
VehicleRoutingSpace< U > clone ()
UtilitySolutionSpace< AddableInteger, U > compose (String[] vars, BasicUtilitySolutionSpace< AddableInteger, ArrayList< AddableInteger > > substitution)
frodo2.solutionSpaces.UtilitySolutionSpace.ProjOutput< AddableInteger, U > consensus (String varOut, Map< String, UtilitySolutionSpace< AddableInteger, U > > distributions, boolean maximum)
frodo2.solutionSpaces.UtilitySolutionSpace.ProjOutput< AddableInteger, U > consensusAllSols (String varOut, Map< String, UtilitySolutionSpace< AddableInteger, U > > distributions, boolean maximum)
frodo2.solutionSpaces.UtilitySolutionSpace.ProjOutput< AddableInteger, U > consensusExpect (String varOut, Map< String, UtilitySolutionSpace< AddableInteger, U > > distributions, boolean maximum)
frodo2.solutionSpaces.UtilitySolutionSpace.ProjOutput< AddableInteger, U > consensusAllSolsExpect (String varOut, Map< String, UtilitySolutionSpace< AddableInteger, U > > distributions, boolean maximum)
UtilitySolutionSpace< AddableInteger, U > expectation (Map< String, UtilitySolutionSpace< AddableInteger, U > > distributions)
boolean isIncludedIn (UtilitySolutionSpace< AddableInteger, U > space)
IteratorBestFirst< AddableInteger, U > iteratorBestFirst (boolean maximize)
IteratorBestFirst< AddableInteger, U > iteratorBestFirst (boolean maximize, String[] fixedVariables, AddableInteger[] fixedValues)
UtilitySolutionSpace< AddableInteger, U > join (UtilitySolutionSpace< AddableInteger, U > space, String[] totalVariables)
UtilitySolutionSpace< AddableInteger, U > join (UtilitySolutionSpace< AddableInteger, U > space)
UtilitySolutionSpace< AddableInteger, U > join (UtilitySolutionSpace< AddableInteger, U >[] spaces)
UtilitySolutionSpace< AddableInteger, U > joinMinNCCCs (UtilitySolutionSpace< AddableInteger, U > space)
UtilitySolutionSpace< AddableInteger, U > joinMinNCCCs (UtilitySolutionSpace< AddableInteger, U >[] spaces)
UtilitySolutionSpace< AddableInteger, U > blindProject (String varOut, boolean maximize)
UtilitySolutionSpace< AddableInteger, U > blindProject (String[] varsOut, final boolean maximize)
blindProjectAll (final boolean maximize)
UtilitySolutionSpace< AddableInteger, U > min (String variable)
UtilitySolutionSpace< AddableInteger, U > max (String variable)
UtilitySolutionSpace< AddableInteger, U > multiply (UtilitySolutionSpace< AddableInteger, U > space, String[] totalVariables)
UtilitySolutionSpace< AddableInteger, U > multiply (UtilitySolutionSpace< AddableInteger, U > space)
UtilitySolutionSpace< AddableInteger, U > multiply (UtilitySolutionSpace< AddableInteger, U >[] spaces)
ProjOutput< AddableInteger, U > project (String[] varsToProj, final boolean maximum)
frodo2.solutionSpaces.UtilitySolutionSpace.ProjOutput< AddableInteger, U > project (int numberToProject, boolean maximum)
UtilitySolutionSpace.ProjOutput< AddableInteger, U > project (String variableName, boolean maximum)
ProjOutput< AddableInteger, U > projectAll (final boolean maximum)
frodo2.solutionSpaces.UtilitySolutionSpace.ProjOutput< AddableInteger, U > projectAll (boolean maximum, String[] order)
Hypercube< AddableInteger, U > resolve ()
Hypercube< AddableInteger, U > resolve (boolean sparse)
Hypercube< AddableInteger, U > toHypercube ()
Map< AddableInteger, Double > sample (int nbrSamples)
UtilitySolutionSpace< AddableInteger, U > slice (String[] varNames, AddableInteger[][] subDomains)
UtilitySolutionSpace< AddableInteger, U > slice (String[] varNames, AddableInteger[] values)
UtilitySolutionSpace< AddableInteger, U > slice (String var, AddableInteger[] subDomain)
UtilitySolutionSpace< AddableInteger, U > slice (String var, AddableInteger val)
UtilitySolutionSpace< AddableInteger, U > slice (AddableInteger[] variablesValues)
UtilitySolutionSpace< AddableInteger, U > split (U threshold, boolean maximum)
void augment (AddableInteger[] variablesValues, U utilityValue)
boolean equivalent (BasicUtilitySolutionSpace< AddableInteger, U > space)
Class< U > getClassOfU ()
getDefaultUtility ()
getUtility (AddableInteger[] values)
getUtility (String[] varNames, AddableInteger[] values)
getUtility (Map< String, AddableInteger > assignments)
void setProblem (ProblemInterface< AddableInteger, ?> problem)
boolean countsCCs ()
getUtility (long index)
boolean isIncludedIn (BasicUtilitySolutionSpace< AddableInteger, U > space)
VRPiterator iterator ()
VRPiterator sparseIter ()
VRPiterator iterator (String[] variables, AddableInteger[][] domains)
VRPiterator sparseIter (String[] variables, AddableInteger[][] domains)
Iterator< AddableInteger, U > iterator (String[] variables, AddableInteger[][] domains, AddableInteger[] assignment)
SparseIterator< AddableInteger, U > sparseIter (String[] variables, AddableInteger[][] domains, AddableInteger[] assignment)
String prettyPrint (U ignoredUtil)
void setDefaultUtility (U utility)
void setInfeasibleUtility (U utility)
boolean setUtility (AddableInteger[] variablesValues, U utility)
void setUtility (long index, U utility)
void augment (AddableInteger[] variablesValues)
AddableInteger[] getDomain (String variable)
AddableInteger[] getDomain (int index)
AddableInteger[] getDomain (String variable, int index)
AddableInteger[][] getDomains ()
int getIndex (String variable)
String getName ()
long getNumberOfSolutions ()
int getNumberOfVariables ()
String getRelationName ()
String getVariable (int index)
String[] getVariables ()
VRPiterator iterator (String[] order)
VRPiterator sparseIter (String[] order)
SolutionSpace< AddableIntegerjoin (SolutionSpace< AddableInteger > space, String[] totalVariables)
SolutionSpace< AddableIntegerjoin (SolutionSpace< AddableInteger > space)
SolutionSpace< AddableIntegerjoin (SolutionSpace< AddableInteger >[] spaces, String[] totalVariablesOrder)
SolutionSpace< AddableIntegerjoin (SolutionSpace< AddableInteger >[] spaces)
boolean knows (Class<?> spaceClass)
SolutionSpace< AddableIntegerrenameAllVars (String[] newVarNames)
void renameVariable (String oldName, String newName)
void setDomain (String var, AddableInteger[] dom)
void setName (String name)
void setRelationName (String name)
frodo2.solutionSpaces.UtilitySolutionSpace.ProjOutput< AddableInteger, U > projExpectMonotone (String varOut, Map< String, UtilitySolutionSpace< AddableInteger, U > > distributions, boolean maximum)
String getOwner ()
void setOwner (String owner)
UtilitySolutionSpace< AddableInteger, U > rescale (U add, U multiply)
Public Member Functions inherited from frodo2.solutionSpaces.UtilitySolutionSpace< V extends Addable< V >, U extends Addable< U > >
boolean isIncludedIn (UtilitySolutionSpace< V, U > space)
 Checks if this UtilitySolutionSpace is included in the provided UtilitySolutionSpace.
UtilitySolutionSpace< V, U > join (UtilitySolutionSpace< V, U > space, String[] total_variables)
 Returns a UtilitySolutionSpace object obtained by joining this UtilitySolutionSpace object with the one provided as a parameter.
UtilitySolutionSpace< V, U > slice (String[] variables_names, V[][] sub_domains)
 Returns a slice of this UtilitySolutionSpace.
UtilitySolutionSpace< V, U > slice (String[] variables_names, V[] values)
 Returns a slice of this UtilitySolutionSpace.
UtilitySolutionSpace< V, U > slice (String var, V[] subDomain)
 Slices this UtilitySolutionSpace over a single variable.
UtilitySolutionSpace< V, U > slice (String var, V val)
 Slices this UtilitySolutionSpace over a single variable-value assignment.
UtilitySolutionSpace< V, U > slice (V[] variables_values)
 Returns a slice of this UtilitySolutionSpace.
UtilitySolutionSpace< V, U > join (UtilitySolutionSpace< V, U > space)
 Computes the join of this UtilitySolutionSpace with the input UtilitySolutionSpace.
UtilitySolutionSpace< V, U > joinMinNCCCs (UtilitySolutionSpace< V, U > space)
 A version of the join method that minimizes the utility lookups in the caller space and the input spaces.
UtilitySolutionSpace< V, U > join (UtilitySolutionSpace< V, U >[] spaces)
 Returns a UtilitySolutionSpace object obtained by joining the UtilitySolutionSpace for which this method is called and the UtilitySolutionSpace present in the array of UtilitySolutionSpace given to this method as a parameter.
UtilitySolutionSpace< V, U > joinMinNCCCs (UtilitySolutionSpace< V, U >[] spaces)
 A version of the join method that minimizes the utility lookups in the caller space and the input spaces.
UtilitySolutionSpace< V, U > multiply (UtilitySolutionSpace< V, U > space, String[] total_variables)
 Returns a UtilitySolutionSpace object obtained by joining this UtilitySolutionSpace object with the one provided as a parameter.
UtilitySolutionSpace< V, U > multiply (UtilitySolutionSpace< V, U > space)
 Computes the join of this UtilitySolutionSpace with the input UtilitySolutionSpace.
UtilitySolutionSpace< V, U > multiply (UtilitySolutionSpace< V, U >[] spaces)
 Returns a UtilitySolutionSpace object obtained by joining the UtilitySolutionSpace for which this method is called and the UtilitySolutionSpace present in the array of UtilitySolutionSpace given to this method as a parameter.
ProjOutput< V, U > consensus (String varOut, Map< String, UtilitySolutionSpace< V, U > > distributions, boolean maximum)
 A projection operation that uses the consensus approach.
ProjOutput< V, U > consensusExpect (String varOut, Map< String, UtilitySolutionSpace< V, U > > distributions, boolean maximum)
 The composition of the consensus and expectation operations.
ProjOutput< V, U > consensusAllSols (String varOut, Map< String, UtilitySolutionSpace< V, U > > distributions, boolean maximum)
 A projection operation that uses the advanced consensus approach.
ProjOutput< V, U > consensusAllSolsExpect (String varOut, Map< String, UtilitySolutionSpace< V, U > > distributions, boolean maximum)
 The composition of the consensusAllSols and expectation operations.
UtilitySolutionSpace< V, U > compose (String[] vars, BasicUtilitySolutionSpace< V, ArrayList< V > > substitution)
UtilitySolutionSpace< V, U > expectation (Map< String, UtilitySolutionSpace< V, U > > distributions)
 Computes the expectation of this utility space over the input random variables, conditioned on the input probability space.
ProjOutput< V, U > projExpectMonotone (String varOut, Map< String, UtilitySolutionSpace< V, U > > distributions, boolean maximum)
 An optimize expectation().project() operator that assumes that all costs are non-negative (or all utilities non-positive).
IteratorBestFirst< V, U > iteratorBestFirst (boolean maximize, String[] fixedVariables, V[] fixedValues)
SparseIterator< V, U > sparseIter (String[] variables, V[][] domains)
SparseIterator< V, U > sparseIter (String[] variables, V[][] domains, V[] assignment)
Iterator< V, U > iterator (String[] variables, V[][] domains)
Iterator< V, U > iterator (String[] variables, V[][] domains, V[] assignment)
Public Member Functions inherited from frodo2.solutionSpaces.UtilitySolutionSpaceLimited< V, U, U >
UtilitySolutionSpaceLimited< V, U, UL > join (UtilitySolutionSpace< V, U > space)
 Binary join operation.
UtilitySolutionSpaceLimited< V, U, UL > joinMinNCCCs (UtilitySolutionSpace< V, U > space)
 A version of the join method that minimizes the utility lookups in the caller space and the input space.
UtilitySolutionSpaceLimited< V, U, UL > blindProject (String varOut, boolean maximize)
 Projects out the input variable without computing the corresponding optimal assignments.
UL blindProjectAll (boolean maximize)
 Projects out all variables without computing the corresponding optimal assignments.
UtilitySolutionSpaceLimited< V, U, UL > min (String variable)
 Project out a variable by minimizing over it, without computing the argmin.
UtilitySolutionSpaceLimited< V, U, UL > max (String variable)
 Project out a variable by maximizing over it, without computing the argmax.
UtilitySolutionSpaceLimited< V, U, UL > slice (String var, V val)
UtilitySolutionSpaceLimited< V, U, UL > resolve ()

Protected Member Functions

VehicleRoutingSpace< U > newInstance (int nbrVehicles, float maxDist, int maxLoad, float depotX, float depotY, String[] vars, HashMap< String, AddableInteger[]> domsHashMap, HashMap< String, Customer > customers, HashSet< Customer > selectedCustomers, HashMap< String, Customer > uncertainties, String name, U infeasibleUtil, final int minSplit, ProblemInterface< AddableInteger, ?> problem)
 Constructs a new instance of this class.
getUtility (final HashSet< Customer > toBeServed)
 Computes the optimal cost of serving a set of customers.

Protected Attributes

String name
 The name of this constraint.
final int nbrVehicles
 The number of vehicles available to this depot.
final float maxDist
 The maximum distance each vehicle is allowed to travel.
final int maxLoad
 The maximum load each vehicle is allowed to carry.
final int totalMaxLoad
 The total maximum load across all vehicles.
final float depotX
 The X coordinate of the depot.
final float depotY
 The Y coordinate of the depot.
infeasibleUtil
 The infeasible utility.
Composite solver
 The VRP solver.
ProblemInterface< AddableInteger, ?> problem
 The problem to be notified of constraint checks.

Static Package Functions

 [static initializer]

Private Member Functions

boolean containsAllVars (String[] vars2)
 Checks whether this space contains all the input variables.

Private Attributes

HashMap< String, Customercustomers
 The customers, indexed by their variable name.
HashSet< CustomerselectedCustomers
 Customers that the depot is required to serve.
int selectedLoad
 The total load of the selected customers.
String[] vars
 The constraint's variables.
final boolean splitDeliveries
 Whether orders can be split among depots.
AddableInteger[][] doms
 The domains of the variables.
HashMap< String, Customeruncertainties
 For each random variable, the customer it refers to.
final int minSplit
 The minimum split size (no split if <= 0).
String owner
 The owner of this space.

Static Private Attributes

static final long serialVersionUID = 6651845834019201776L
 Used for serialization.
static final AddableInteger zero = new AddableInteger (0)
 The domain value indicating that the customer should not be served.
static final AddableInteger one = new AddableInteger (1)
 The domain value indicating that the customer should be served.
static HashSet< Class<?> > knownSpaces
 The types of spaces that we know how to handle.

Detailed Description

A solution space for Vehicle Routing Problems.

Author
Thomas Leaute
Parameters
<U>the type used for utility values (default is AddableReal)

Constructor & Destructor Documentation

◆ VehicleRoutingSpace()

frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.VehicleRoutingSpace ( int nbrVehicles,
float maxDist,
int maxLoad,
float depotX,
float depotY,
String[] vars,
HashMap< String, AddableInteger[]> domsHashMap,
HashMap< String, Customer > customers,
HashSet< Customer > selectedCustomers,
HashMap< String, Customer > uncertainties,
String name,
String owner,
U infeasibleUtil,
final int minSplit,
ProblemInterface< AddableInteger, ?> problem )

Constructor.

Parameters
nbrVehiclesThe number of vehicles available to this depot
maxDistThe maximum distance each vehicle is allowed to travel
maxLoadThe maximum load each vehicle is allowed to carry
depotXThe X coordinate of the depot
depotYThe Y coordinate of the depot
varsThe constraint's variables
domsHashMapThe desired domains for some of the variables
customersThe customers, indexed by their variable names
selectedCustomersCustomers that the depot is required to serve
uncertaintiesFor each random variable, the customer it refers to
nameThe name of this constraint
ownerThe owner
infeasibleUtilThe infeasible utility
minSplitThe minimum split size (no split if <= 0)
problemThe problem to be notified of constraint checks
Todo
Choose the algorithm more carefully

References frodo2.solutionSpaces.vehiclerouting.Customer.angles, customers, frodo2.solutionSpaces.vehiclerouting.Customer.demand, depotX, depotY, infeasibleUtil, maxDist, maxLoad, minSplit, name, nbrVehicles, one, owner, problem, selectedCustomers, solver, uncertainties, vars, and zero.

Referenced by [static initializer](), changeVariablesOrder(), clone(), joinMinNCCCs(), joinMinNCCCs(), newInstance(), frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.CustomerAssignment< U extends Addable< U > >.setUtility(), slice(), frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.VRPiteratorBestFirst.VRPiteratorBestFirst(), and frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.VRPiteratorBestFirst.VRPiteratorBestFirst().

Member Function Documentation

◆ [static initializer]()

frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.[static initializer]
staticpackage

References knownSpaces, and VehicleRoutingSpace().

Here is the call graph for this function:

◆ augment() [1/2]

void frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.augment ( AddableInteger[] variablesValues)
See also
SolutionSpace#augment(Addable[])
Todo
Auto-generated method stub

◆ augment() [2/2]

void frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.augment ( AddableInteger[] variablesValues,
U utilityValue )
See also
BasicUtilitySolutionSpace.augment(Addable[], java.io.Serializable)
Todo
Auto-generated method stub

◆ blindProject() [1/2]

◆ blindProject() [2/2]

◆ blindProjectAll()

◆ changeVariablesOrder()

◆ clone()

◆ compose()

◆ consensus()

frodo2.solutionSpaces.UtilitySolutionSpace.ProjOutput< AddableInteger, U > frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.consensus ( String varOut,
Map< String, UtilitySolutionSpace< AddableInteger, U > > distributions,
boolean maximum )
See also
frodo2.solutionSpaces.UtilitySolutionSpace.consensus(java.lang.String, java.util.Map, boolean)
Todo
Auto-generated method stub

◆ consensusAllSols()

frodo2.solutionSpaces.UtilitySolutionSpace.ProjOutput< AddableInteger, U > frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.consensusAllSols ( String varOut,
Map< String, UtilitySolutionSpace< AddableInteger, U > > distributions,
boolean maximum )
See also
frodo2.solutionSpaces.UtilitySolutionSpace.consensusAllSols(java.lang.String, java.util.Map, boolean)
Todo
Auto-generated method stub

◆ consensusAllSolsExpect()

frodo2.solutionSpaces.UtilitySolutionSpace.ProjOutput< AddableInteger, U > frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.consensusAllSolsExpect ( String varOut,
Map< String, UtilitySolutionSpace< AddableInteger, U > > distributions,
boolean maximum )
See also
frodo2.solutionSpaces.UtilitySolutionSpace.consensusAllSolsExpect(java.lang.String, java.util.Map, boolean)
Todo
Auto-generated method stub

◆ consensusExpect()

frodo2.solutionSpaces.UtilitySolutionSpace.ProjOutput< AddableInteger, U > frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.consensusExpect ( String varOut,
Map< String, UtilitySolutionSpace< AddableInteger, U > > distributions,
boolean maximum )
See also
frodo2.solutionSpaces.UtilitySolutionSpace.consensusExpect(java.lang.String, java.util.Map, boolean)
Todo
Auto-generated method stub

◆ containsAllVars()

boolean frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.containsAllVars ( String[] vars2)
private

Checks whether this space contains all the input variables.

Parameters
vars2the input variables
Returns
whether this space contains all the input variables

References getDomain().

Referenced by project().

Here is the call graph for this function:

◆ countsCCs()

boolean frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.countsCCs ( )
See also
UtilitySolutionSpace#countsCCs()

◆ equivalent()

◆ expectation()

See also
UtilitySolutionSpace.expectation(java.util.Map)

References clone(), and getDomain().

Here is the call graph for this function:

◆ getClassOfU()

Class< U > frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.getClassOfU ( )
See also
BasicUtilitySolutionSpace.getClassOfU()

References getClassOfU().

Referenced by getClassOfU().

Here is the call graph for this function:

◆ getDefaultUtility()

◆ getDomain() [1/3]

◆ getDomain() [2/3]

◆ getDomain() [3/3]

AddableInteger[] frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.getDomain ( String variable,
int index )
See also
frodo2.solutionSpaces.SolutionSpace.getDomain(java.lang.String, int)
Todo
Auto-generated method stub

◆ getDomains()

◆ getIndex()

int frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.getIndex ( String variable)
See also
frodo2.solutionSpaces.SolutionSpace.getIndex(java.lang.String)
Todo
Auto-generated method stub

◆ getName()

◆ getNumberOfSolutions()

long frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.getNumberOfSolutions ( )

◆ getNumberOfVariables()

◆ getOwner()

◆ getRelationName()

◆ getUtility() [1/5]

◆ getUtility() [2/5]

U frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.getUtility ( final HashSet< Customer > toBeServed)
protected

Computes the optimal cost of serving a set of customers.

Parameters
toBeServedthe customers
Returns
the optimal cost of the routes to serve the input customers
Todo
cloning is a hack because setPosition() is buggy

References frodo2.solutionSpaces.ProblemInterface< V extends Addable< V >, U extends Addable< U > >.incrNCCCs(), and solver.

Here is the call graph for this function:

◆ getUtility() [3/5]

U frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.getUtility ( long index)
See also
BasicUtilitySolutionSpace.getUtility(long)
Todo
Auto-generated method stub

◆ getUtility() [4/5]

◆ getUtility() [5/5]

◆ getVariable()

String frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.getVariable ( int index)

◆ getVariables()

◆ isIncludedIn() [1/2]

◆ isIncludedIn() [2/2]

◆ iterator() [1/4]

◆ iterator() [2/4]

See also
SolutionSpace.iterator(java.lang.String[])

Implements frodo2.solutionSpaces.UtilitySolutionSpace< V extends Addable< V >, U extends Addable< U > >.

References getDomains(), and iterator().

Here is the call graph for this function:

◆ iterator() [3/4]

VRPiterator frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.iterator ( String[] variables,
AddableInteger domains[][] )
See also
BasicUtilitySolutionSpace.iterator(java.lang.String[], Addable[][])

◆ iterator() [4/4]

Iterator< AddableInteger, U > frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.iterator ( String[] variables,
AddableInteger domains[][],
AddableInteger[] assignment )
See also
UtilitySolutionSpace.iterator(java.lang.String[], Addable[][], Addable[])
Todo
Improve by making use of assignments

◆ iteratorBestFirst() [1/2]

◆ iteratorBestFirst() [2/2]

IteratorBestFirst< AddableInteger, U > frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.iteratorBestFirst ( boolean maximize,
String[] fixedVariables,
AddableInteger[] fixedValues )
See also
UtilitySolutionSpace.iteratorBestFirst(boolean, java.lang.String[], Addable[])

References getDomains().

Here is the call graph for this function:

◆ join() [1/7]

◆ join() [2/7]

◆ join() [3/7]

See also
SolutionSpace#join(SolutionSpace[])
Todo
Auto-generated method stub

◆ join() [4/7]

SolutionSpace< AddableInteger > frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.join ( SolutionSpace< AddableInteger >[] spaces,
String[] totalVariablesOrder )
See also
SolutionSpace.join(SolutionSpace[], java.lang.String[])
Todo
Auto-generated method stub

◆ join() [5/7]

◆ join() [6/7]

◆ join() [7/7]

See also
UtilitySolutionSpace#join(UtilitySolutionSpace[])
Todo
Implement more efficiently

References frodo2.solutionSpaces.UtilitySolutionSpace< V extends Addable< V >, U extends Addable< U > >.join().

Here is the call graph for this function:

◆ joinMinNCCCs() [1/2]

See also
UtilitySolutionSpace#joinMinNCCCs(UtilitySolutionSpace)

References frodo2.solutionSpaces.UtilitySolutionSpace< V extends Addable< V >, U extends Addable< U > >.joinMinNCCCs(), and VehicleRoutingSpace().

Here is the call graph for this function:

◆ joinMinNCCCs() [2/2]

See also
UtilitySolutionSpace#joinMinNCCCs(UtilitySolutionSpace[])

References frodo2.solutionSpaces.UtilitySolutionSpace< V extends Addable< V >, U extends Addable< U > >.joinMinNCCCs(), resolve(), and VehicleRoutingSpace().

Here is the call graph for this function:

◆ knows()

boolean frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.knows ( Class<?> spaceClass)
See also
SolutionSpace.knows(java.lang.Class)

References knownSpaces.

◆ max()

◆ min()

◆ multiply() [1/3]

◆ multiply() [2/3]

◆ multiply() [3/3]

See also
UtilitySolutionSpace#multiply(UtilitySolutionSpace[])
Todo
Auto-generated method stub

◆ newInstance()

VehicleRoutingSpace< U > frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.newInstance ( int nbrVehicles,
float maxDist,
int maxLoad,
float depotX,
float depotY,
String[] vars,
HashMap< String, AddableInteger[]> domsHashMap,
HashMap< String, Customer > customers,
HashSet< Customer > selectedCustomers,
HashMap< String, Customer > uncertainties,
String name,
U infeasibleUtil,
final int minSplit,
ProblemInterface< AddableInteger, ?> problem )
protected

Constructs a new instance of this class.

Parameters
nbrVehiclesThe number of vehicles available to this depot
maxDistThe maximum distance each vehicle is allowed to travel
maxLoadThe maximum load each vehicle is allowed to carry
depotXThe X coordinate of the depot
depotYThe Y coordinate of the depot
varsThe constraint's variables
domsHashMapThe desired domains for some of the variables
customersThe customers, indexed by their variable names
selectedCustomersCustomers that the depot is required to serve
uncertaintiesFor each random variable, the customer it refers to
nameThe name of this constraint
infeasibleUtilThe infeasible utility
minSplitThe minimum split size (no split if <= 0)
problemThe problem to be notified of constraint checks
Returns
a new instance of this class

References customers, depotX, depotY, infeasibleUtil, maxDist, maxLoad, minSplit, name, nbrVehicles, problem, selectedCustomers, uncertainties, vars, and VehicleRoutingSpace().

Referenced by changeVariablesOrder(), and slice().

Here is the call graph for this function:

◆ prettyPrint()

String frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.prettyPrint ( U ignoredUtil)
See also
frodo2.solutionSpaces.BasicUtilitySolutionSpace.prettyPrint(java.io.Serializable)
Todo
Auto-generated method stub

◆ project() [1/3]

◆ project() [2/3]

UtilitySolutionSpace.ProjOutput< AddableInteger, U > frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.project ( String variableName,
boolean maximum )

◆ project() [3/3]

◆ projectAll() [1/2]

◆ projectAll() [2/2]

◆ projExpectMonotone()

frodo2.solutionSpaces.UtilitySolutionSpace.ProjOutput< AddableInteger, U > frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.projExpectMonotone ( String varOut,
Map< String, UtilitySolutionSpace< AddableInteger, U > > distributions,
boolean maximum )
See also
frodo2.solutionSpaces.UtilitySolutionSpace.projExpectMonotone(java.lang.String, java.util.Map, boolean)
Todo
Auto-generated method stub

◆ renameAllVars()

SolutionSpace< AddableInteger > frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.renameAllVars ( String[] newVarNames)
See also
frodo2.solutionSpaces.SolutionSpace.renameAllVars(java.lang.String[])
Todo
Auto-generated method stub

◆ renameVariable()

void frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.renameVariable ( String oldName,
String newName )
See also
frodo2.solutionSpaces.SolutionSpace.renameVariable(java.lang.String, java.lang.String)
Todo
Auto-generated method stub

◆ rescale()

◆ resolve() [1/2]

◆ resolve() [2/2]

◆ sample()

◆ setDefaultUtility()

void frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.setDefaultUtility ( U utility)
See also
frodo2.solutionSpaces.BasicUtilitySolutionSpace.setDefaultUtility(java.io.Serializable)
Todo
Auto-generated method stub

◆ setDomain()

void frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.setDomain ( String var,
AddableInteger[] dom )
See also
SolutionSpace.setDomain(java.lang.String, Addable[])
Todo
Auto-generated method stub

◆ setInfeasibleUtility()

void frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.setInfeasibleUtility ( U utility)
See also
BasicUtilitySolutionSpace.setInfeasibleUtility(java.io.Serializable)

◆ setName()

void frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.setName ( String name)
See also
SolutionSpace.setName(java.lang.String)

References name.

◆ setOwner()

void frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.setOwner ( String owner)
See also
SolutionSpace.setOwner(java.lang.String)

References owner.

◆ setProblem()

See also
UtilitySolutionSpace#setProblem(ProblemInterface)

References problem.

Referenced by frodo2.solutionSpaces.vehiclerouting.CompoundSpace< U extends Addable< U > >.setProblem().

◆ setRelationName()

void frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.setRelationName ( String name)
See also
frodo2.solutionSpaces.SolutionSpace.setRelationName(java.lang.String)
Todo
Auto-generated method stub

References name.

◆ setUtility() [1/2]

boolean frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.setUtility ( AddableInteger[] variablesValues,
U utility )
See also
BasicUtilitySolutionSpace.setUtility(Addable[], java.io.Serializable)
Todo
Auto-generated method stub

◆ setUtility() [2/2]

void frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.setUtility ( long index,
U utility )
See also
BasicUtilitySolutionSpace.setUtility(long, java.io.Serializable)
Todo
Auto-generated method stub

◆ slice() [1/5]

See also
UtilitySolutionSpace#slice(Addable[])
Todo
Auto-generated method stub

◆ slice() [2/5]

◆ slice() [3/5]

See also
UtilitySolutionSpace.slice(java.lang.String, Addable[])
Todo
Auto-generated method stub

◆ slice() [4/5]

See also
UtilitySolutionSpace.slice(java.lang.String[], Addable[])

References doms, and slice().

Here is the call graph for this function:

◆ slice() [5/5]

◆ sparseIter() [1/4]

◆ sparseIter() [2/4]

VRPiterator frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.sparseIter ( String[] order)
See also
SolutionSpace.sparseIter(java.lang.String[])

Implements frodo2.solutionSpaces.UtilitySolutionSpace< V extends Addable< V >, U extends Addable< U > >.

References getDomains(), and sparseIter().

Here is the call graph for this function:

◆ sparseIter() [3/4]

VRPiterator frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.sparseIter ( String[] variables,
AddableInteger domains[][] )
See also
BasicUtilitySolutionSpace.sparseIter(java.lang.String[], Addable[][])

◆ sparseIter() [4/4]

SparseIterator< AddableInteger, U > frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.sparseIter ( String[] variables,
AddableInteger domains[][],
AddableInteger[] assignment )
See also
UtilitySolutionSpace.sparseIter(java.lang.String[], Addable[][], Addable[])
Todo
Improve by making use of assignments

◆ split()

◆ toHypercube()

◆ toString()

See also
java.lang.Object#toString()

Referenced by changeVariablesOrder().

Member Data Documentation

◆ customers

◆ depotX

final float frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.depotX
protected

The X coordinate of the depot.

Referenced by changeVariablesOrder(), clone(), newInstance(), and VehicleRoutingSpace().

◆ depotY

final float frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.depotY
protected

The Y coordinate of the depot.

Referenced by changeVariablesOrder(), clone(), newInstance(), and VehicleRoutingSpace().

◆ doms

The domains of the variables.

Referenced by clone(), and slice().

◆ infeasibleUtil

◆ knownSpaces

HashSet< Class<?> > frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.knownSpaces
staticprivate

The types of spaces that we know how to handle.

Referenced by [static initializer](), and knows().

◆ maxDist

final float frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.maxDist
protected

The maximum distance each vehicle is allowed to travel.

Referenced by changeVariablesOrder(), clone(), newInstance(), and VehicleRoutingSpace().

◆ maxLoad

final int frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.maxLoad
protected

The maximum load each vehicle is allowed to carry.

Referenced by changeVariablesOrder(), clone(), newInstance(), and VehicleRoutingSpace().

◆ minSplit

final int frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.minSplit
private

The minimum split size (no split if <= 0).

Referenced by clone(), newInstance(), and VehicleRoutingSpace().

◆ name

String frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.name
protected

The name of this constraint.

Referenced by changeVariablesOrder(), clone(), newInstance(), setName(), setRelationName(), and VehicleRoutingSpace().

◆ nbrVehicles

final int frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.nbrVehicles
protected

The number of vehicles available to this depot.

Referenced by clone(), newInstance(), and VehicleRoutingSpace().

◆ one

◆ owner

String frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.owner
private

The owner of this space.

Referenced by clone(), setOwner(), and VehicleRoutingSpace().

◆ problem

The problem to be notified of constraint checks.

Referenced by clone(), newInstance(), setProblem(), and VehicleRoutingSpace().

◆ selectedCustomers

◆ selectedLoad

int frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.selectedLoad
private

The total load of the selected customers.

◆ serialVersionUID

final long frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.serialVersionUID = 6651845834019201776L
staticprivate

Used for serialization.

◆ solver

Composite frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.solver
protected

The VRP solver.

Referenced by getUtility(), and VehicleRoutingSpace().

◆ splitDeliveries

final boolean frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.splitDeliveries
private

◆ totalMaxLoad

final int frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.totalMaxLoad
protected

The total maximum load across all vehicles.

◆ uncertainties

◆ vars

String [] frodo2.solutionSpaces.vehiclerouting.VehicleRoutingSpace< U extends Addable< U > >.vars
private

The constraint's variables.

Referenced by clone(), compose(), newInstance(), and VehicleRoutingSpace().

◆ zero


The documentation for this class was generated from the following file: