示例#1
0
文件: Program.cs 项目: nofear/Mara
        private static void Poly1()
        {
            Random rnd	= new Random(0);
            for( int i = 0; i < 10000000; ++i )
            {
                double a	= rnd.Next( -10, 10 );
                double b	= rnd.Next( -10, 10 ) ;
                double c	= rnd.Next( -10, 10 ) ;

                a=2;b=8;c=8;

                Solver s		= new Solver( -1000000, 1000000 );
                FltVar x		= new FltVar( s, "x" );
                FltVarExpr exp	= a*x*x+ b*x;
                s.Add( exp );
                s.Add( exp == -c );

                s.PrintConstraints();
                s.PrintVariables();

                Console.Out.WriteLine( "{0}.x^2 + {1}.x + {2} = 0", a, b, c );

                s.Solve( new FltGenerate( s, new FltVar[] { x } ) );
                Console.Out.WriteLine( x.ToString(true) );
                while( s.Next() )
                {
                    Console.Out.WriteLine( x.ToString(true) );
                }
            }
        }
示例#2
0
文件: Program.cs 项目: nofear/Mara
        static void Mul2()
        {
            IntDomain v		= new IntDomain();
            for( int idx = 0; idx < 100000; ++idx )
            {
                Solver s	= new Solver( -1000, 1000 );
                IntVar a	= new IntVar( s, IntDomain.Random( -100, 100, 1 ), "a" );
                IntVar b	= new IntVar( s, IntDomain.Random( -100, 100, 1 ), "b" );
                IntVar c	= new IntVar( s, IntDomain.Random( -100, 100, 1 ), "c" );
                IntVar d	= new IntVar( s, IntDomain.Random( -100, 100, 1 ), "d" );
                IntVarList l	= new IntVarList( s, new IntVar[] { a, b, c, d } );
                //p.Add( a + b + c + d );
                s.Add( l.Sum() );

                s.Propagate();
                s.PrintVariables();
                s.PrintConstraints();
            }
        }