java.lang.Comparable<PartialScheduleGrph>
public class PartialScheduleGrph extends ScheduleGrph implements java.lang.Comparable<PartialScheduleGrph>
Modifier and Type | Field | Description |
---|---|---|
static long |
time |
adjacencyMatrixAlgo, allClusteringCoefficientsAlgorithm, avgClusteringCoefficientAlgorithm, avgDegreeAlgorithm, bfsAlgorithm, bipartiteAlgorithm, branchingMinimumVertexCoverAlgorithm, bruteForceMinimumVertexCoverAlgorithm, centerAlgorithm, chordalAlgo, COMPILATION_DIRECTORY, complementAlgorithm, completenessAlgorithm, connectedComponentsAlg, connectednessAlgorithm, densityAlgorithm, diameterAlgorithm, FominGrandoniKratschMaximumindependentSetAlgorithm, girthAlgorithm, HOSTS, inacessibleVertices, incidenceMatrixAlgo, inNeighborsAlgorithm, inOutNeighborsAlgorithm, irreflexiveAlgorithm, isCyclicAlgorithm, isolatedVerticesAlgorithm, lineGraphAlg, logger, LPMaximumindependentSetAlgorithm, LPMaxMatchingAlgorithm, LPMinVertexCoverAlgorithm, maxInEdgeDegreeAlgorithm, maxInVertexDegreeAlgorithm, maxOutEdgeDegreeAlgorithm, maxOutVertexDegreeAlgorithm, minInEdgeDegreeAlgorithm, minInVertexDegreeAlgorithm, minOutEdgeDegreeAlgorithm, minOutVertexDegreeAlgorithm, multigraphnessAlgorithm, NiedermeierMinimumVertexCoverAlgorithm, outNeighborsAlgorithm, radiusAlgorithm, reflexivityAlgorithm, regularityAlgorithm, simplenessAlgorithm, tarjanSCC, topologicalSortingAlg, treenessAlgorithm, trianglesAlgorithm, twoSweepDiameterAlg, unweightedDistanceMatrixAlgorithm, unweightedPredecessorMatrixAlgorithm, useCache, vertexAdjacenciesAsIDSetsAlgorithm, vertexListAlgorithm
Constructor | Description |
---|---|
PartialScheduleGrph(int score) |
Constructor with specific score value, useful for cloning from a parent.
|
Modifier and Type | Method | Description |
---|---|---|
void |
addFreeTask(ScheduleGrph init,
int task,
int pc) |
Add a free task to the earliest possible time on this schedule on the specified processor
|
int |
compareTo(PartialScheduleGrph g) |
The compareTo method for ranking partial schedules.
|
PartialScheduleGrph |
copy() |
Create and return a copy of this schedule including data such as task starts, score,
processor starts etc
|
boolean |
equals(java.lang.Object o) |
|
boolean |
equivalenceCheck(ScheduleGrph input,
int lastAdded,
int numProcessors) |
Checks whether or not a schedule has any equivalent schedules, and should
therefore not be expanded.
|
java.util.TreeSet<java.lang.Integer> |
getFixedFree(ScheduleGrph inputSaved) |
Get the list of currently free tasks for this partial schedule using the Fixed Task Order
pruning strategy.
|
java.util.HashSet<java.lang.Integer> |
getFree(ScheduleGrph inputSaved) |
Get the list of currently free tasks for this partial schedule
|
int |
getLastFBottomLevel() |
Get the last known bottom level cost of this schedule.
|
int |
getLastIdleTime() |
Get the last calculated idle time of this partial schedule, either an outdated value inherited from parent,
or an iteratively calculated value usually set during the cost function
|
PartialScheduleGrph |
getNormalizedCopy(int numProcessor) |
Returns a normalized copy of this schedule, where processors are in a specific fixed order,
to allow comparison between two schedules that are identical aside from processor names
|
int |
getScheduleLength() |
Get the overall finish time of this schedule
|
int |
getScore() |
Get the current score of this partial schedule, used for ranking in the algorithm
|
long |
getTimeAdded() |
Get the time this schedule was added to a list/set.
|
boolean |
outgoingCommsOK(ScheduleGrph input,
java.util.HashMap<java.lang.Integer,java.lang.Integer> newStarts,
int numProcessors) |
Helper method for equivalenceCheck which checks that all outgoing
datatransfers of a set of tasks are unaffected by a change in
order/position
|
MinimalScheduleGrph |
serialize() |
Serialize this schedule into a MinimalScheduleGrph for low memory saving
|
void |
setFBottomLevel(int fbtw) |
Set the bottom level time of this schedule
|
void |
setIdleTime(int idleTime) |
Set the idle time of this partial schedule
|
void |
setScore(int score) |
Set the score of this partial schedule, used for ranking in the algorithm
|
void |
setSerialized(java.lang.String s) |
Set the value of the serialized version of this schedule
|
void |
setTimeAdded(long t) |
Set the time this schedule was added to a list/set.
|
addDirectedSimpleEdge, addGraph, addHyperEdge, addNVertices, addSimpleEdge, addSimpleEdge, addUndirectedSimpleEdge, addVertex, addVertices, areEdgesAdjacent, areVerticesAdjacent, bfs, bfs, bfsList, chain, clear, clearCache, clique, clique, clone, computeMaxFlow, connectToKClosestNeighbors, contains, containsAPath, contractEdge, contractVertices, contractVertices, createSwingRenderer, dgrid, disconnect, disconnectVertex, display, displayGraphstream_0_4_2, displayImg, displayReport, displaySVGSalamander, dring, ensureNVertices, equals, findAlgorithm, findPropertyByName, fromCaidaMap, fromGraphML, fromGraphML, fromGrphBinary, fromGrphText, fromGrphTextFile, getAdjacencyMatrix, getAllCycles, getAllInEdgeDegrees, getAllOutEdgeDegrees, getAllPaths, getAverageClusteringCoefficient, getAverageDegree, getAverageDegree, getBipartiteSubgraphInducedByVertices, getCenter, getCircleStar, getCliques, getClusteringCoefficient, getClusteringCoefficient, getClusteringCoefficientDistribution, getComplement, getConnectedComponentContaining, getConnectedComponents, getCutEdges, getCutSize, getDefaultNumberOfThreads, getDegreeDistribution, getDensity, getDescription, getDiameter, getDifference, getDistanceMatrix, getEccentricity, getEccentricity, getEdgeColorProperty, getEdgeDegree, getEdgeLabelProperty, getEdgeNature, getEdgePairs, getEdgesAdjacentToEdge, getEdgesConnecting, getEdgesIncidentTo, getEdgeStyleProperty, getEdgeWidthProperty, getFartestVertex, getFartestVertex, getFringes, getGirth, getGpmetisPartitionning, getGpmetisPartitionning, getInaccessibleVertices, getIncidenceMatrix, getInducedSubgraphIsomorphism, getInEdgeDegree, getInEdges, getInNeighborhoods, getInNeighbors, getInNeighbours, getInOnlyEdges, getInOutOnlyEdges, getInVertexDegree, getIsolatedVertices, getKClosestNeighbors, getKShortestPaths, getLargestConnectedComponent, getLineGraph, getLineGraph, getLocalClusteringCoefficients, getLoops, getMaximumClique, getMaximumIndependentSet, getMaximumIndependentSet, getMaximumMatching, getMaxInEdgeDegrees, getMaxInVertexDegrees, getMaxOutEdgeDegrees, getMaxOutVertexDegrees, getMinimumVertexCover, getMinimumVertexCover, getMinInEdgeDegrees, getMinInVertexDegrees, getMinOutEdgeDegrees, getMinOutVertexDegrees, getNeighborhoods, getNeighbors, getNeighborsAtMaxDistance, getNeighbours, getNeighbours, getNeighbours, getNeighboursAtMostKHops, getNumberOfDirectedEdges, getNumberOfEdges, getNumberOfHyperEdges, getNumberOfSimpleEdges, getNumberOfTriangles, getNumberOfUndirectedEdges, getNumberOfVertices, getOppositeEdges, getOrder, getOutEdgeDegree, getOutEdges, getOutNeighborhoods, getOutNeighbors, getOutOnlyEdges, getOutVertexDegree, getPageRanking, getPartialSubgraphIsomorphism, getProperties, getRadius, getShortestCycle, getShortestPath, getShortestPath, getSimplicialVertices, getSinks, getSize, getSomeEdgeConnecting, getSources, getSpanningTree, getStronglyConnectedComponents, getSubgraphInducedByEdges, getSubgraphInducedByVertices, getTopologyListeners, getTwoSweepBFSDiameterApproximatedDiameter, getVersion, getVertexColorProperty, getVertexDegree, getVertexDegree, getVertexLabelProperty, getVertexShapeProperty, getVertexSizeProperty, getVerticesAccessibleThrough, getVerticesAccessibleThrough, getVerticesIncidentToEdge, getVerticesOfDegree, getVerticesOfDegree, getVerticesOfDegreeAtLeast, glp, grid, grid, hasCycles, hasLoop, hasLoops, hasMultipleEdges, highlight, highlight, highlight, highlight, highlightEdges, highlightEdges, highlightVertex, highlightVertices, highlightVertices, highlightVertices, highlightVertices, isAntigraph, isBipartite, isChordal, isClique, isComplete, isConnected, isCut, isCut, isCyclic, isDirected, isDirectedSimpleEdge, isDirectedSimpleGraph, isDominatingSet, isHyperEdge, isHypergraph, isIndependentSet, isIrreflexive, isIsomorphicTo, isLeaf, isLoop, isMatching, isMixed, isNull, isReflexive, isRegular, isSimple, isSimpleEdge, isSimplicial, isSink, isSource, isStronglyConnected, isTree, isTrivial, isUndirectedSimpleEdge, isUndirectedSimpleGraph, isVertexCover, listCachingGraphAlgorithms, loadOnlineGrph, merge, performRandomTopologicalChange, postOnTheWeb, prune, removeEdges, removeVertices, removeVertices, removeVertices, report, revertEdge, ring, ring, ring, rnws, rnws, search, setEdgesColor, setEdgesLabel, setEdgesStyle, setEdgesWidth, setVerticesColor, setVerticesLabel, setVerticesShape, setVerticesSize, sortTopologically, sortVerticesByDegree, stepMonitor, toEdgeList, toGraphML, toGraphStream_0_4_2_AWTComponent, toGraphviz, toGraphviz, toGrphBinary, toGrphText, toString, toString_elements, toTextADJ, toUndirectedGraph, undirectionalizeEdge
addDirectedHyperEdge, addDirectedSimpleEdge, addToDirectedHyperEdgeHead, addToDirectedHyperEdgeTail, addToUndirectedHyperEdge, addUndirectedHyperEdge, addUndirectedSimpleEdge, addVertex, containsEdge, containsVertex, getDirectedHyperEdgeHead, getDirectedHyperEdgeTail, getDirectedSimpleEdgeHead, getDirectedSimpleEdgeTail, getEdges, getID, getInOnlyElements, getInOutOnlyElements, getNavigation, getNextEdgeAvailable, getNextVertexAvailable, getNumberOfDirectedHyperEdges, getNumberOfDirectedSimpleEdges, getNumberOfUndirectedHyperEdges, getNumberOfUndirectedSimpleEdges, getOneVertex, getOutOnlyElements, getTheOtherVertex, getUndirectedHyperEdgeVertices, getVertices, isDirectedHyperEdge, isDirectedSimpleEdge, isUndirectedHyperEdge, isUndirectedSimpleEdge, main, removeEdge, removeEdge, removeFromDirectedHyperEdgeHead, removeFromDirectedHyperEdgeTail, removeFromHyperEdge, removeVertex, storeEdges
getClass, hashCode, notify, notifyAll, wait, wait, wait
cloneSelf, dependenciesValid, getBottomLevel, getEdgeWeightProperty, getVertexProcessorProperty, getVertexStartProperty, getVertexWeightProperty, getVerticesForProcessor, setEdgeWeightProperty, setVertexProcessorProperty, setVertexStartProperty, setVertexWeightProperty, toDot
public PartialScheduleGrph(int score)
score
- The score to assign to this partial schedulepublic int getScore()
public void setScore(int score)
score
- The score value to setpublic int getLastIdleTime()
public void setIdleTime(int idleTime)
idleTime
- The total amount of Idle Time on this schedulepublic void setTimeAdded(long t)
t
- The time value to set aspublic long getTimeAdded()
public int getLastFBottomLevel()
public void setFBottomLevel(int fbtw)
fbtw
- The bottom level cost to set for this schedulepublic int getScheduleLength()
public PartialScheduleGrph copy()
public PartialScheduleGrph getNormalizedCopy(int numProcessor)
numProcessor
- The number of processors available for this schedulepublic MinimalScheduleGrph serialize()
public java.util.HashSet<java.lang.Integer> getFree(ScheduleGrph inputSaved)
inputSaved
- The graph read as input used to calculate this partial schedulepublic java.util.TreeSet<java.lang.Integer> getFixedFree(ScheduleGrph inputSaved)
inputSaved
- The graph read as input used to calculate this partial schedulepublic void setSerialized(java.lang.String s)
s
- The string to store as the serialized schedulepublic boolean equals(java.lang.Object o)
equals
in class grph.Grph
public void addFreeTask(ScheduleGrph init, int task, int pc)
init
- The schedule graph read as input used to generate this partial scheduletask
- The task to addpc
- The processor to add the task topublic boolean equivalenceCheck(ScheduleGrph input, int lastAdded, int numProcessors)
input
- The schedule graph read as input used to generate this partial schedulelastAdded
- The most recently added task on this partial schedulenumProcessors
- The number of processors available to schedule tasks onpublic boolean outgoingCommsOK(ScheduleGrph input, java.util.HashMap<java.lang.Integer,java.lang.Integer> newStarts, int numProcessors)
input
- The schedule graph read as input used to generate this partial schedulenewStarts
- A map of task id to start time, after the changenumProcessors
- The number of processors available to schedule tasks onpublic int compareTo(PartialScheduleGrph g)
compareTo
in interface java.lang.Comparable<PartialScheduleGrph>