The Best Candidates Method for Solving Optimization Problems

: Problem statement: This study is about describing solution technique called Best Candidates Method (BCM) for solving optimization problems; the goal is to minimize the computation time to get the optimal solution. In this study I apply the BCM to the linear assignment problems (LAP) that is one of the optimization problems in the Operation Research (OR). Approach: The optimization problem solution methods operate in two ways. First, that find all available combinations in sequential or parallel solution manner then compare the results to get the optimal one, but its need a very large computation time either for a large scale problems. Second, is to try to reach directly the optimal solution using different methods, but all available methods not always reach the optimal solution and have a complex solution technique or have a long computation time. Results: The BCM elect the best candidates that give the lowest combinations to get the optimal solution. Conclusion/Recommendations: The BCM minimize the computation time and reduce the complexity where we can apply this method to different area of optimization problems.


INTRODUCTION
The optimization in mathematics, computer science and economics and other fields, refers to choosing the best element from some set of available alternatives. In the simplest case, this means solving problems in which one seeks to minimize or maximize a real function by systematically choosing the values of real or integer variables from within an allowed set (en.wikipedia.org/wiki/Optimization_(mathematics). This formulation, using a scalar, real-valued objective function, is probably the simplest example; the generalization of optimization theory and techniques to other formulations comprises a large area of applied mathematics. More generally, it means finding ''best available'' values of some objective function given a defined domain, including a variety of different types of objective functions and different types of domains. An optimization problem can be represented in the following way Given : A function 0066: A →R from some set A to the real numbers Sought : An element x 0 in A such that f (x 0 ) ≤ f (x) for all x in A (''minimization' ') or such that f (x 0 ) ≥ f (x) for all × in A (''maximization'') Such a formulation is called an optimization problem or a mathematical programming problem (a term not directly related to computer programming, but still in use for example in linear programming . Many real-world and theoretical problems may be modeled in this general framework. Problems formulated using this technique in the fields of physics and computer vision may refer to the technique as energy minimization, speaking of the value of the function f as representing the energy of the system being modeled. Typically, A is some subset of the Euclidean space R n , often specified by a set of constraints, equalities or inequalities that the members of A have to satisfy. The domain A of f is called the search space or the choice set, while the elements of an are called candidate solutions or feasible solutions. The function f is called, variously, an objective function, cost function, energy function, or energy functional. A feasible solution that minimizes (or maximizes, if that is the goal) the objective function is called an optimal solution. Generally, when the feasible region or the objective function of the problem does not present convexity, there may be several local minima and maxima, where a local minimum x * is defined as a point for which there exists some δ > 0 so that for all x such that: The expression: Holds; that is to say, on some region around x * all of the function values are greater than or equal to the value at that point. Local maxima are defined similarly. A large number of algorithms proposed for solving nonconvex problems-including the majority of commercially available solvers-are not capable of making a distinction between local optimal solutions and rigorous optimal solutions and will treat the former as actual solutions to the original problem. The branch of applied mathematics and numerical analysis that is concerned with the development of deterministic algorithms that are capable of guaranteeing convergence in finite time to the actual optimal solution of a non-convex problem is called global optimization.
The assignment problem is a special class of the linear programming problem. It is to be made in such a way that each job can associate with one and only one machine (Burkard et al., 2009). Determine an assignment of jobs to machines so as to minimize the overall cost or maximize the profit. Applications of assignment problems are varied in the real world and are much interested because of their wide applicability in industry, commerce, management science. A semantic-based genetic algorithm for sub-ontology evolution (Mao, 2010). Routing of water pipeline using gis and genetic algorithm (Ebrahimipoor et al., 2009), Oil production optimization in a cluster of gas lift wells system (Saepudin et al., 2010). A new machine learning based approach for tuning metaheuristics for the solution of hard combinatorial optimization problems (Zennaki and Ech-Cherif, 2010). Applications of evolutionary algorithms in the design automation of analog integrated circuits (Tlelo-Cuautle et al., 2010). Solving the Traveling Salesman Problem Using New Operators in Genetic Algorithms (Rahedi and Atoum, 2009).

Mathematical formulation:
The formal definition of the assignment problem (or linear assignment problem), is given two sets, A and T, of equal size, together with a weight function C: A × T → R. Find a bijection f: A → T such that the cost functions: Usually the weight function is viewed as a square real-valued matrix C, so that the cost function is written down as: The problem is ''linear'' because the cost function to be optimized as well as all the constraints contain only linear terms.
The problem can be expressed as a standard linear program with the objective function The variable x ij represents the assignment of agent i to task j, taking value 1 if the assignment is done and 0 otherwise. This formulation allows also fractional variable values, but there is always an optimal solution where the variables take integer values. This is because the constraint matrix is totally unimodular. The first constraint requires that every agent is assigned to exactly one task and the second constraint requires that every task is assigned exactly one agent.
Agorithms for solving: There are various ways to solve assignment problems. Certainly it can be formulated as a linear program (Chikhaoui et al., 2009), that find the exact solution of a quadratic programming problem with linear constraints of an objective quadratic function written in the canonical form, which is based on splitting the objective function into the sum of two functions. The Lot-size is the clustering of items for transportation or manufacturing processes occurring at the same time. The issue in lot-size problem is to design production processes so that the feasible production quantities are equal to customer demand quantities and the timing of production is such that inventory positions are almost zero (Ismail et al., 2011). Two models were introduced to solve the multi-level lot-size problem namely the Billington model and Alf Kimms model. Using these models, a simple heuristic method was designed to solve a multi level capacitated lot sizing scheduling problem. To overcome deficiencies of the sequential transportation planning approach, the Combined Model for Tehran Metropolitan Area Incorporating Captive Travel Behavior (Zargari et al., 2009) research applies a Combined Trip Distribution and Assignment Model (CTDAM) for the simultaneous prediction. The proposed combined model can itself be reformulated as an Equivalent Minimization Problem (EMP). Assignment problems can be solving also by simplex method . In addition, since it can be formulated as a network problem, the network simplex method may solve it quickly. However, sometimes the simple method is inefficient for assignment problems (particularly problems with a high degree of degeneracy). As a side note, neural networks have also been used to solve the assignment problem. Genetic Algorithms (GAs) are becoming a widely used and accepted method for difficult optimization problems suh as, query optimization using genetic algorithms. Linear and nonlinear optimization problems can be solved using classical methods (Lu and Chen, 2011). However, the solutions become inefficient as the number of variables and limitations increase. Routing pipelines requires optimum solutions in which technical, economical and environmental parameters are taken into consideration.
The Hungarian Algorithm has been used with a good deal of success on these problems. The Hungarian algorithm is one of many algorithms that have been devised that solve the linear assignment problem within time bounded by a polynomial expression of the number of agents. And it used for an extremely fast implementation on a native Matlab code .

Hungarian algorithm:
Step1: Determine the effectiveness matrix. Subtract the minimum element of each row of the given cost matrix from all of the elements of the row. Examine if there is at least one zero in each row and in each column. If it is so, stop here, otherwise subtract the minimum element of each column from all the elements of the column. The resulting matrix is the starting effectiveness matrix Step 2: Assign the zeroes: (a). Examine the rows of the current effective matrix successively until a row with exactly one unmarked zero is found. Mark this zero, indicating that an assignment will be made there. Mark all other zeroes lying in the column of above encircled zero. The cells marked will not be considered for any future assignment. Continue in this manner until all the rows have taken care of (b). Similarly for columns Step 3: Check for Optimality. Repeat step 2 successively till one of the following occurs.
(a). There is no row and no column without assignment. In such a case, the current assignment is optimal. (b). There may be some row or column without an assignment. In this case the current solution is not optimal. Proceed to next step Step 4: Draw minimum number of lines crossing all zeroes as follows. If the number of lines is equal to the order of the matrix, then the current solution is optimal, otherwise it is not optimal. Go to the next step> Step 5: Examine the elements that do not have a line through them. Select the smallest of these elements and subtract the same from all the elements that do not have a line through them and add this element to every element that lies in the intersection of the two lines.
Step 6: Repeat this until an optimal assignment is reached Unbalanced assignment problems: When the cost matrix of an assignment problem is not a square matrix, i.e., number of jobs is not equal to the number of machines, the assignment problem is called an unbalanced assignment problem. In such problems, dummy rows or columns are added in the matrix so as to complete it to form a square matrix.

The Best Candidates Method (BCM) has the following solution steps:
Step1: Prepare the matrix. If the matrix unbalanced, we balance it and don't use the added row or column candidates in our solution procedure. Step2: Election the best candidates, that is for minimization problems minimum cost and for maximize profit max cost: Elect the best two candidates in each row, if the candidate repeated more than two times elect it also. Check the columns that not have candidates and elect one candidate for them, if the candidate repeated more than one time elect it also Step3: Find the combinations. Determine only one candidate for each row and column starting from the row that have least candidates and delete that row and column If there is situation that have no candidate for some rows or columns elect directly the best available candidate. Repeat step3 (1, 2) by determining the next candidate in the row that started from. Compute and compare the total sum of candidates for each combination to determine the best combination that give the optimal solution Problem: Consider the problem of assigning five jobs to five persons. The assignment costs are given as follows.

Solution:
Step1: The matrix is balanced, where the number of columns equal to the number of rows as shown in (Table 1).

DISCUSSION
The BCM based on election the best candidates and the alternative in each row and cover all columns with at least one candidate, then we can obtain the combinations that must be have no any intersect means, one candidate for each row and column. The BCM comparing to the Hungarian Method as shown from the solution steps can obtained the best combinations with less computation time and without complexity.

CONCLUSION
In this study I have proposed a BCM for solving optimization problems. The optimization is very important because of their wide applicability in different area, where it refers to choosing the optimal solution from the set of available alternative. The BCM can be used with good deal of success on these problems, because it obtained the optimal solution with minimum computation time, reduce the complexity and it have simple and clearly solution manner which is can be easy to use on different area of optimization problems.