|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectscpsolver.graph.Graph
scpsolver.graph.BipartiteGraph
public class BipartiteGraph
| Constructor Summary | |
|---|---|
BipartiteGraph()
|
|
| Method Summary | |
|---|---|
Edge |
addEdgeSecure(java.lang.String leftlabel,
java.lang.String rightlabel)
adds a directed edge between a left and right node. |
Edge |
addEdgeSecure(java.lang.String leftlabel,
java.lang.String rightlabel,
boolean reverse)
Adds a directed edge between a left and right node. |
Edge |
addEdgeSecure(java.lang.String leftlabel,
java.lang.String rightlabel,
java.lang.String edgelabel,
boolean reverse)
Adds a directed labeled edge between a left and right node. |
Node |
addLeftNode(Node node)
|
Node |
addRightNode(Node node)
|
java.util.ArrayList<Node> |
findSimilarLeftNodes(Node node)
|
java.util.ArrayList<java.util.HashSet<Node>> |
getAllComponents()
Returns all components of the graph |
java.util.HashSet<Node> |
getComponent(Node n)
Returns all nodes that are in the same graph component as n |
LinearProgram |
getDenseConveringWithSizeLinearProgram(int k)
|
LinearProgram |
getDualCoverLinearProgram(int maxcost)
|
int |
getIndex(Node node)
|
java.util.ArrayList<Node> |
getLeftNodeWithActiveCardinality(int min,
int max)
Returns all nodes on left side that have active cardinality bigger than min and lower than max. |
java.util.ArrayList<Node> |
getLeftNodeWithCardinality(int min,
int max)
Returns all nodes on left side that have a cardinality bigger than min and lower than max. |
Node |
getNode(int index)
|
Node |
getNode(java.lang.String label)
|
java.util.HashMap<java.lang.String,Node> |
getNodes()
|
java.util.ArrayList<Node> |
getNodeSet(java.util.ArrayList<java.lang.String> nodelist)
|
java.util.ArrayList<Node> |
getNodeSet(java.lang.String nodestring)
|
java.util.HashMap<java.lang.String,Node> |
getNodesleft()
|
java.util.HashMap<java.lang.String,Node> |
getNodesright()
|
int |
getNumberNodes()
|
int |
getNumberOfLeftNodes()
Returns the number of left nodes |
int |
getNumberOfRightNodes()
Returns the number of rigth nodes |
java.util.ArrayList<Node> |
getRightNodeWithActiveCardinality(int min,
int max)
Returns all nodes on right side that have active cardinality bigger than min and lower than max. |
java.util.ArrayList<Node> |
getRightNodeWithCardinality(int min,
int max)
Returns all nodes on right side that have cardinality bigger than min and lower than max. |
LinearProgram |
getSetCoverLinearProgram(int mincover)
|
LinearProgram |
getSetCoverLinearProgramMulticover()
|
LinearProgram |
getSetCoverLinearProgramRelaxed(int mincover)
|
boolean |
hasEdge(java.lang.String leftlabel,
java.lang.String rightlabel)
Checks if there is a edge between left node labeled leftlabel and a right node labeled rightlabel |
boolean |
isValidCovering(java.util.ArrayList<Node> set)
Checks if a set of left nodes (subset) covers all right nodes (universe elements). |
static void |
main(java.lang.String[] args)
|
void |
removeLeftNode(Node node)
Remove a left node |
void |
reset()
|
java.util.ArrayList<Node> |
solveCoveringProblemLP(LinearProgramSolver solver,
int mincover)
|
java.util.ArrayList<Node> |
solveCoveringProblemLPApproximation(LinearProgramSolver solver)
|
java.util.ArrayList<Node> |
solveCoveringProblemLPMulticover(LinearProgramSolver solver)
|
java.util.ArrayList<Node> |
solveDenseCoveringProblemLP(LinearProgramSolver solver,
int max)
|
java.util.ArrayList<Node> |
solveDualCoveringProblemLP(LinearProgramSolver solver,
int maxcost)
|
java.util.ArrayList<Node> |
solveLinearProgramForSubProblem(java.util.ArrayList<Node> proteinsublist,
java.util.ArrayList<Node> epitopes,
java.util.ArrayList<Node> solution,
LinearProgramSolver solver)
|
java.util.ArrayList<Node> |
solveSetCoveringProblemGreedy()
Greedy heuristic for the set covering problem represented by the bipartite graph. |
java.util.ArrayList<Node> |
solveSetCoveringProblemGreedyActive(java.util.Comparator<Node> comp)
Greedy heuristic for the set covering problem represented by the bipartite graph. |
java.util.ArrayList<Node> |
solveSetCoveringProblemGreedyActive(java.util.Comparator<Node> comp,
int max)
Greedy heuristic for the set covering problem represented by the bipartite graph. |
java.util.ArrayList<Node> |
sortCovering(java.util.ArrayList<Node> pset,
java.lang.String filename)
Sorts a covering by means of the greedy heuristic. |
java.lang.String |
toGML()
Generates the GML-graph representation of the Bipartite Graph A recommended viewer for GML files is yED |
void |
toGML(java.lang.String filename)
|
void |
toSetCoverCPLEXStream(java.lang.String filename,
int mincover)
Writes the linear program in CPLEX LP format for the set sovering problem represented by the bipartite graph directly to a file. |
java.lang.String |
toSetCoverGPML(int mincover)
Deprecated. |
void |
toSetCoverGPML(java.lang.String filename,
int mincover)
Deprecated. |
void |
toSetCoverGPMLStream(java.lang.String filename,
int mincover)
Writes the linear program in Mathprog format for the set sovering problem represented by the bipartite graph directly to a file. |
void |
toSetCoverOPBStream(java.lang.String filename,
int mincover)
Writes the linear program in OPB format for the set sovering problem represented by the bipartite graph directly to a file. |
java.lang.String |
toTKZLatex(int minimumnodesize,
int xrightnodes,
double distance,
java.lang.String leftnodecolor,
java.lang.String rightnodecolor)
|
| Methods inherited from class scpsolver.graph.Graph |
|---|
activateAllEdges, addGraph, addNode, clone, getAdjMatrix, getAdjMatrix, getAllComponentsDL, getComponentDL, getEdge, getNodeSetPipe, getNodeWithActiveCardinality, getNodeWithCardinality, getNumberEdges, isEmpty, removeCards, removeEdge, removeNode, toGML, toGMLwithGrouping, toMTX |
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public BipartiteGraph()
| Method Detail |
|---|
public java.util.HashMap<java.lang.String,Node> getNodesleft()
public java.util.HashMap<java.lang.String,Node> getNodesright()
public Node getNode(java.lang.String label)
getNode in interface GraphInterfacegetNode in class Graphpublic void reset()
reset in class Graphpublic Node addLeftNode(Node node)
public Node addRightNode(Node node)
public java.util.HashSet<Node> getComponent(Node n)
getComponent in class Graphn - Node
public java.util.ArrayList<java.util.HashSet<Node>> getAllComponents()
getAllComponents in class Graph
public java.lang.String toTKZLatex(int minimumnodesize,
int xrightnodes,
double distance,
java.lang.String leftnodecolor,
java.lang.String rightnodecolor)
public void removeLeftNode(Node node)
node - public int getNumberOfLeftNodes()
public int getNumberOfRightNodes()
public boolean hasEdge(java.lang.String leftlabel,
java.lang.String rightlabel)
hasEdge in interface GraphInterfacehasEdge in class Graphleftlabel - rightlabel -
public Edge addEdgeSecure(java.lang.String leftlabel,
java.lang.String rightlabel,
boolean reverse)
addEdgeSecure in class Graphleftlabel - rightlabel - reverse -
public Edge addEdgeSecure(java.lang.String leftlabel,
java.lang.String rightlabel)
addEdgeSecure in interface GraphInterfaceaddEdgeSecure in class Graphleftlabel - rightlabel -
public Edge addEdgeSecure(java.lang.String leftlabel,
java.lang.String rightlabel,
java.lang.String edgelabel,
boolean reverse)
addEdgeSecure in class Graphleftlabel - rightlabel - edgelabel - reverse -
public LinearProgram getDenseConveringWithSizeLinearProgram(int k)
public java.util.ArrayList<Node> solveSetCoveringProblemGreedy()
public java.util.ArrayList<Node> solveSetCoveringProblemGreedyActive(java.util.Comparator<Node> comp)
comp -
public java.util.ArrayList<Node> solveSetCoveringProblemGreedyActive(java.util.Comparator<Node> comp,
int max)
comp -
public LinearProgram getSetCoverLinearProgram(int mincover)
public LinearProgram getDualCoverLinearProgram(int maxcost)
public LinearProgram getSetCoverLinearProgramMulticover()
public LinearProgram getSetCoverLinearProgramRelaxed(int mincover)
public java.util.ArrayList<Node> solveCoveringProblemLPApproximation(LinearProgramSolver solver)
public java.util.ArrayList<Node> solveLinearProgramForSubProblem(java.util.ArrayList<Node> proteinsublist,
java.util.ArrayList<Node> epitopes,
java.util.ArrayList<Node> solution,
LinearProgramSolver solver)
public java.util.ArrayList<Node> solveDenseCoveringProblemLP(LinearProgramSolver solver,
int max)
public java.util.ArrayList<Node> solveCoveringProblemLP(LinearProgramSolver solver,
int mincover)
public java.util.ArrayList<Node> solveDualCoveringProblemLP(LinearProgramSolver solver,
int maxcost)
public java.util.ArrayList<Node> solveCoveringProblemLPMulticover(LinearProgramSolver solver)
public java.lang.String toSetCoverGPML(int mincover)
mincover -
public java.lang.String toGML()
toGML in class Graph
public void toSetCoverGPML(java.lang.String filename,
int mincover)
filename - mincover -
public void toSetCoverGPMLStream(java.lang.String filename,
int mincover)
filename - mincover -
public void toSetCoverOPBStream(java.lang.String filename,
int mincover)
filename - mincover -
public void toSetCoverCPLEXStream(java.lang.String filename,
int mincover)
filename - mincover - public boolean isValidCovering(java.util.ArrayList<Node> set)
set -
public java.util.ArrayList<Node> sortCovering(java.util.ArrayList<Node> pset,
java.lang.String filename)
set -
public java.util.ArrayList<Node> getLeftNodeWithCardinality(int min,
int max)
min - max -
public java.util.ArrayList<Node> getRightNodeWithCardinality(int min,
int max)
min - max -
public java.util.ArrayList<Node> getLeftNodeWithActiveCardinality(int min,
int max)
min - max -
public java.util.ArrayList<Node> getRightNodeWithActiveCardinality(int min,
int max)
min - max -
public java.util.ArrayList<Node> findSimilarLeftNodes(Node node)
node -
public void toGML(java.lang.String filename)
toGML in class Graphfilename - public java.util.ArrayList<Node> getNodeSet(java.lang.String nodestring)
getNodeSet in class Graphnodestring -
public java.util.ArrayList<Node> getNodeSet(java.util.ArrayList<java.lang.String> nodelist)
public int getIndex(Node node)
public Node getNode(int index)
public static void main(java.lang.String[] args)
public java.util.HashMap<java.lang.String,Node> getNodes()
getNodes in interface GraphInterfacegetNodes in class Graphpublic int getNumberNodes()
getNumberNodes in interface GraphInterfacegetNumberNodes in class Graph
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||