public final class ArcCompanion extends Object implements VarHandler, Comparable<ArcCompanion>
The ArcCompanion plays the role of the VarHandler for X- and W-variables. It also provides a hook for S-variables of any
Modifier and Type | Field and Description |
---|---|
Arc |
arc
The (forward) arc
|
int |
arcID
Identifier for this arc in the structure variable
|
int |
flowOffset
Current lower capacity of the arc
|
int |
pruningScore
The pruningScore
|
DomainStructure |
structure
The associated structure variable
|
IntVar |
wVar
The FDV for lower and upper cost
|
IntVar |
xVar
The FDV for lower and upper capacity
|
Constructor and Description |
---|
ArcCompanion(Arc arc,
int offset) |
Modifier and Type | Method and Description |
---|---|
void |
changeCapacity(int min,
int max)
Changes the lower and upper capacity of the arc in any way, performing
the necessary changes to node balance and flow offset functions.
|
void |
changeMaxCapacity(int max) |
void |
changeMinCapacity(int min) |
int |
compareTo(ArcCompanion that) |
int |
getPruningEvent(Var var)
Retrieves the consistency pruning event of a handler variable that causes
the handler to be reevaluated.
|
List<IntVar> |
listVariables() |
void |
processEvent(IntVar variable,
MutableNetwork network)
Informs the handler that one of its variable has changed and asks the
handler to update the state of the network accordingly.
|
void |
restore(MutableNetwork network)
Restores the capacity and weight of the arc after backtracking.
|
void |
setFlow(int flow)
Forces the flow to a given value (within capacity bounds).
|
String |
toString() |
public final Arc arc
public int flowOffset
public IntVar xVar
public IntVar wVar
public DomainStructure structure
public int arcID
public int pruningScore
public ArcCompanion(Arc arc, int offset)
public void changeCapacity(int min, int max)
min
- the new lower capacitymax
- the new upper capacitypublic void changeMinCapacity(int min)
public void changeMaxCapacity(int max)
public List<IntVar> listVariables()
listVariables
in interface VarHandler
public void processEvent(IntVar variable, MutableNetwork network)
VarHandler
processEvent
in interface VarHandler
variable
- the variable that changednetwork
- the networkpublic void restore(MutableNetwork network)
network
- the networkpublic void setFlow(int flow)
flow
- the new flow valuepublic int getPruningEvent(Var var)
VarHandler
getPruningEvent
in interface VarHandler
var
- a handler variablepublic int compareTo(ArcCompanion that)
compareTo
in interface Comparable<ArcCompanion>
Copyright © 2022. All rights reserved.