packages feed

combinatorial-problems-0.0.1: Test.hs~

import CombinatorialOptimisation.SAT 
import CombinatorialOptimisation.TSP
import FileFormat.SATLIB
import FileFormat.TSPLIB

import System.Random
import qualified Data.Map as M

{- 
main :: IO()
main = do s<-loadCNFFile "./CBS_k3_n100_m403_b10_0.cnf"
          print s
          saveAsCNF "test.cnf" s

-}

{- 
-- checking basic Symmetric TSP code and mutator algorithms
main :: IO()
main = do gen<-newStdGen
          let meep = makeSymmetricTSPMap (2,5) 5 gen
          -- print meep
          let meep' = randomiseRoute gen meep
          print meep'
          print $ routeElementToIndex meep'
          print $ indexToRouteElement meep'
          print ""
          let meep'' = exchangeCities 1 1 meep'
          print meep''
          print $ routeElementToIndex meep''
          print $ indexToRouteElement meep''
          putStrLn $ showEdgeWeights meep''

-}

{- 
-- checking stability of arrays, rather than map
main :: IO()
main = do gen<-newStdGen
          let (meep,meep') = makeASymmetricTSPMap (2,5) 50 gen
          putStrLn $ showEdgeWeights meep
          putStrLn ""
          putStrLn $ showEdgeWeights meep'
          putStrLn $ show $ showEdgeWeights meep == showEdgeWeights meep'
-}

-- checking stability of arrays, rather than map
main :: IO()
main = do let gen = mkStdGen 5
          let gen' = mkStdGen 10
          let meep = makeEuclideanTSPMap ExplicitMatrix (2,8) (2,8) 100 gen
          let meep' = makeEuclideanTSPMap TriangularMatrix (2,8) (2,8) 100 gen
          let meep'' = makeEuclideanTSPMap Recomputation (2,8) (2,8) 100 gen
          putStrLn $ showEdgeWeights meep
          putStrLn ""
          putStrLn $ showEdgeWeights meep'
          putStrLn $ show $ (showEdgeWeights meep == showEdgeWeights meep') && (showEdgeWeights meep == showEdgeWeights meep'')

{- 
-- checking loading TSPs
main :: IO()
main = do loadTSPFile "../exampleProblems/ali535.tsp" -}