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, undirectionalizeEdgeaddDirectedHyperEdge, 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, storeEdgesgetClass, hashCode, notify, notifyAll, wait, wait, waitcloneSelf, dependenciesValid, getBottomLevel, getEdgeWeightProperty, getVertexProcessorProperty, getVertexStartProperty, getVertexWeightProperty, getVerticesForProcessor, setEdgeWeightProperty, setVertexProcessorProperty, setVertexStartProperty, setVertexWeightProperty, toDotpublic 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.Grphpublic 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>