示例#1
0
        private static void lpProblemPhase(InputParser inputParser, int serverNO, int pointNO, double delta,
            int neededTileNumber, int[] tiles, LPModelFileCreator lpModelFileCreator, LPSolver lpSolver)
        {
            int timeoutSec = inputParser.parseInputTimeout();
            bool deleteOutputLP = inputParser.parseInputDeleteOutputLP();

            string outputFilename = lpModelFileCreator.createOutputLPFile(serverNO, neededTileNumber, pointNO,
                tiles, delta);

            lpSolver.solveLP(serverNO, neededTileNumber, tiles, timeoutSec, outputFilename);

            if (deleteOutputLP)
            {
                File.Delete(outputFilename);
            }
        }
示例#2
0
 static void Main(string[] args)
 {
     // IMPORTANT NOTE:
     //     please check the Debug or Release folder contains lpsolve55.dll and build on x86 platform.
     IndexTransformator transformator = new IndexTransformator();
     InputParser inputParser = new InputParser(transformator);
     HeftArrayCreator heftArrayCreator = new HeftArrayCreator(transformator);
     int serverNO;
     int pointNO;
     double delta;
     int neededTileNumber;
     int[] tiles;
     //try
     //{
         arrayPartitionPhase(transformator, inputParser, heftArrayCreator,
         out serverNO, out pointNO, out delta, out neededTileNumber, out tiles);
         LPModelFileCreator lpModelFileCreator = new LPModelFileCreator();
         LPSolver lpSolver = new LPSolver();
         lpProblemPhase(inputParser, serverNO, pointNO, delta, neededTileNumber, tiles,
             lpModelFileCreator, lpSolver);
     //}
     //catch (Exception ex)
     //{
     //    Console.WriteLine("ERROR: " + ex.Message);
     //}
     Console.WriteLine("Press any key to exit!");
     Console.Read();
 }