diff --git a/src/Cluster.hs b/src/Cluster.hs index 284904693bc5a636044f82becd586d26cc8ad045..7b69ef5dced5aff609b3da78123787d8f8ec2b52 100644 --- a/src/Cluster.hs +++ b/src/Cluster.hs @@ -573,8 +573,9 @@ printSolutionLine :: InstanceList -> Int -> Int -> Placement + -> Int -> (String, [String]) -printSolutionLine il ktn kti nmlen imlen plc = +printSolutionLine il ktn kti nmlen imlen plc pos = let pmlen = (2*nmlen + 1) (i, p, s, c) = plc @@ -588,8 +589,8 @@ printSolutionLine il ktn kti nmlen imlen plc = ostr = (printf "%s:%s" opri osec)::String nstr = (printf "%s:%s" npri nsec)::String in - (printf " %-*s %-*s => %-*s %.8f a=%s" - imlen inam pmlen ostr + (printf " %3d. %-*s %-*s => %-*s %.8f a=%s" + pos imlen inam pmlen ostr pmlen nstr c moves, cmds) @@ -612,7 +613,8 @@ printSolution il ktn kti sol = imlen = mlen_fn kti nmlen = mlen_fn ktn in - unzip $ map (printSolutionLine il ktn kti nmlen imlen) sol + unzip $ map (uncurry $ printSolutionLine il ktn kti nmlen imlen) $ + zip sol [1..] -- | Print the node list. printNodes :: [(Int, String)] -> NodeList -> String diff --git a/src/hbal.hs b/src/hbal.hs index 4d100e20d441ee02eae87dbd62a1ee66989fa473..b425f9265de1dbd2fa670aa76d44b5f5037afa7a 100644 --- a/src/hbal.hs +++ b/src/hbal.hs @@ -72,7 +72,7 @@ iterateDepth ini_tbl max_rounds ktn kti nmlen imlen cmd_strs oneline = do let (sol_line, cmds) = Cluster.printSolutionLine ini_il ktn kti - nmlen imlen (head fin_plc) + nmlen imlen (head fin_plc) fin_plc_len upd_cmd_strs = cmds:cmd_strs unless (oneline || fin_plc_len == ini_plc_len) $ do putStrLn sol_line