![]() ![]() In what order should he/she visit the cities to minimize the total distance traveled, while visiting each city exactly once?Ĭonstraint programming problems have all the advantages and disadvantages (such as non-convexity) of mixed-integer programming problems, and the extra requirements such as "alldifferent" generally make such problems even harder to solve. Thus, the assignment must be an ordering or permutation of the integers 1 through 5.Ī classic example of a constraint programming problem is the traveling salesman problem: A salesman plans to visit N cities and must drive varying distances between them. 1, 2, 3, 1, 4) would violate the alldifferent constraint. The most common and useful higher-level constraint is the alldifferent constraint, which requires a set of n decision variables to assume some permutation (non-repeating ordering) of integers from 1 to n.įor example, for a set of 5 decision variables, values such as 1, 2, 3, 4, 5 or 5, 4, 3, 2, 1 for the variables would satisfy this constraint, but any assignment of the same value to two or more different variables (e.g. The symbolic values come from a finite set of possibilities, and these possibilities can be numbered with integers.Ĭonstraint programming defines "higher-level" constraints that apply to integer variables. The term constraint programming comes from artificial intelligence research, where there are many problems that require assignment of symbolic values (such as positions on a chessboard) to variables that satisfy certain constraints. ![]() The number of combinations can rise exponentially with the size of the problem. This is because many combinations of specific integer values for the variables must be tested, and each combination requires the solution of a "normal" linear or nonlinear optimization problem. Memory and solution time may rise exponentially as you add more integer variables.Įven with highly sophisticated algorithms and modern supercomputers, there are models with just a few hundred integer variables that have never been solved to optimality. However, integer variables make an optimization problem non-convex, and therefore far more difficult to solve. Such variables are called 0-1 or binary integer variables and can be used to model yes/no decisions, such as whether to build a plant or buy a piece of equipment. The use of integer variables greatly expands the scope of useful optimization problems that you can define and solve.Īn important special case is a decision variable X 1 that must be either 0 or 1 at the solution. whole numbers such as -1, 0, 1, 2, etc.) at the optimal solution. A mixed-integer programming (MIP) problem is one where some of the decision variables are constrained to be integer values (i.e. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |