pwLPFiles {PathWave} | R Documentation |
Generates files of inequalities to be solved by a standard LP solver. Output files are in CPLEX format.
pwLPFiles(adjMatrix, strategy = "automatic", addTriangleInequalities = TRUE, addCliqueConstraints = TRUE, addSymmetryBreakingConstraints = TRUE, addStarInequalities = TRUE, add5CycleConstraints = TRUE, useDummyNodes = TRUE, addNeighbourStarConstraints = FALSE)
adjMatrix |
List of adjacency matrices as returned by function pwAdjMatrices(). |
strategy |
File generating strategy. Choices are "automatic" (default),"manually","largesystem" and "basicsystem". See details. |
addTriangleInequalities |
Boolean variable. Can be changed if strategy "manually" is chosen (default TRUE). See details. |
addCliqueConstraints |
Boolean variable. Can be changed if strategy "manually" is chosen (default TRUE). See details. |
addSymmetryBreakingConstraints |
Boolean variable. Can be changed if strategy "manually" is chosen (default TRUE). See details. |
addStarInequalities |
Boolean variable. Can be changed if strategy "manually" is chosen (default TRUE). See details. |
add5CycleConstraints |
Boolean variable. Can be changed if strategy "manually" is chosen (default TRUE). See details. |
useDummyNodes |
Boolean variable. Can be changed if strategy "manually" is chosen (default TRUE). See details. |
addNeighbourStarConstraints |
Boolean variable. Can be changed if strategy "manually" is chosen (default FALSE). See details. |
The function searches for constraining symmetries in the graph to facilitate the optimisation problem.
For each input pathway a file -pathwayID.lp- is written out into the working directory.
Gunnar Schramm, Stefan Wiesberg
See Also as pwAdjMatrices
,pwOptGrids
#build a simple adjacency matrix library(e1071) #define number of nodes and generate random adjacency matrix nNodes=5 M=dist.matrix=matrix(sample(c(0,1),nNodes^2,replace=TRUE),nrow=nNodes,ncol=nNodes) rownames(M)=colnames(M)=paste("R",1:nNodes,sep="") #distances dist.matrix[dist.matrix==0]=Inf dist.matrix=allShortestPaths(dist.matrix)$length #avoid infinity and NAs in this test case dist.matrix[is.na(dist.matrix)]=0 dist.matrix[dist.matrix==Inf]=0 #set iMax iMax=max(dist.matrix) #build test list test.list=list() test.list[["testGraph"]]=list(nNodes=nNodes, iMax=iMax, M=M) #a file "testGraph.lp" should be printed pwLPFiles(test.list)