Example #1
0
        public static void Main(string[] args)
        {
            _solver = new ClSimplexSolver();

            // initialize the needed variables
            BuildVariables();

            // create the constraints
            try
            {
                BuildConstraints();
            }
            catch (ExClRequiredFailure rf)
            {
                Console.Error.WriteLine(rf.StackTrace);
            }
            catch (ExClInternalError ie)
            {
                Console.Error.WriteLine(ie.StackTrace);
            }

            // solve it
            try
            {
                _solver.Solve();
            }
            catch (ExClInternalError ie)
            {
                Console.Error.WriteLine(ie.StackTrace);
            }

            // print out the values
            Console.WriteLine("Variables: ");
            PrintVariables();
        }
Example #2
0
 public static void Main(string[] args) 
 {
   _solver = new ClSimplexSolver();
   
   // initialize the needed variables
   BuildVariables();
   
   // create the constraints
   try 
   {
     BuildConstraints();
   } 
   catch (ExClRequiredFailure rf) 
   {
     Console.Error.WriteLine(rf.StackTrace);
   } 
   catch (ExClInternalError ie) 
   {
     Console.Error.WriteLine(ie.StackTrace);
   }
   
   // solve it
   try 
   {
     _solver.Solve();
   } 
   catch (ExClInternalError ie) 
   {
     Console.Error.WriteLine(ie.StackTrace);
   }
   
   // print out the values
   Console.WriteLine("Variables: ");
   PrintVariables();
 }
Example #3
0
        public void Z3()
        {
            Stopwatch w = new Stopwatch();

            w.Restart();
            var solver = new ClSimplexSolver()
            {
                AutoSolve = false
            };

            Console.WriteLine("cons {0}ms", w.ElapsedMilliseconds);

            w.Restart();
            solver.AddConstraint(new ClVariable("x"), new ClVariable("y"), new ClVariable("z"), (x, y, z) =>
                                 x > 1 &&
                                 y == x + 1 &&
                                 y < 3 &&
                                 z == x + y * 3
                                 );
            Console.WriteLine("setup {0}ms", w.ElapsedMilliseconds);

            w.Restart();
            solver = solver.Solve();
            Console.WriteLine("solve {0}ms", w.ElapsedMilliseconds);

            w.Restart();
            Console.WriteLine("x " + ((ClVariable)solver.GetVariable("x")).Value);
            Console.WriteLine("y " + ((ClVariable)solver.GetVariable("y")).Value);
            Console.WriteLine("z " + ((ClVariable)solver.GetVariable("z")).Value);
            Console.WriteLine("read {0}ms", w.ElapsedMilliseconds);
        }
Example #4
0
        public void TestLayout1()
        {
            var solver = new ClSimplexSolver();

            // initialize the needed variables
            BuildVariables();
            BuildConstraints(solver);

            solver.Solve();
        }
 public void AddConstraints(IEnumerable <IFluentLayout <T> > fluentLayouts)
 {
     foreach (var fluentLayout in fluentLayouts)
     {
         foreach (var constraint in GetConstraintsFromFluentLayout(fluentLayout))
         {
             solver.AddConstraint(constraint);
         }
     }
     solver.Solve();
     _constraints.AddRange(fluentLayouts);
 }