• No results found

Constraint-based local search for the generalised assignment problem

6.2 Generalised assignment problem

6.2.1 Related work

In this section, we present a review of solution methods found in the literature for GAP. The solution methods can be categorised into two groups: exact and heuristic methods. An extensive survey on previous solution methods was done by Chu (1997). However, exact methods have a computational disadvantage in solving large-size problems. We focus on heuristic methods that can find good quality solutions within a reasonable computational time.

Osman (1995) proposed a hybrid algorithm, SA/TS, which combines simulated annealing and tabu search. The algorithm uses a λ - generation mechanism which describes how a solution can be altered to generate neighbour solutions. In SA/TS, the non-monotonic cooling scheme of simulated annealing and the oscillation strategy of tabu search are used, which are considered as a hybrid strategy. Osman also proposed a tabu search alone for GAP. Both the SA/TS and TS use a frequency-based memory that records information used for diversification purposes.

Chu and Beasley (1997) proposed a GA-based heuristic for solving GAP. The heuristic incorporates a problem-specific encoding of a solution structure. Fitness-unfitness pair evaluations are used to handle both feasible and infeasible solutions. Apart from using mutation and crossover operators, a two-phase heuristic improvement operation is used. In the first phase, the operator tries to recover feasibility by reducing the unfitness score. The second phase is to improve the cost of the solution without further violating the capacity constraints.

Yagiura et al (1999) proposed a variable depth search algorithm for GAP. The algorithm incorporates an adaptive use of modified shift and swap neighbourhoods where some moves are tabu in order to overcome local minima. The method also allows the search to visit infeasible solutions, modifying the objective function to penalise the overloaded capacity of the agents. Yagiura et al (2004) also proposed a tabu search with an ejection chain for GAP.

The ejection chain approach is embedded in a neighbourhood construction in order to create more complex and powerful local moves. The ejection chains are constructed by using the information from a Lagrangian relaxation of the problem. The sorted cost for each job is also maintained and used in a variable selection process in order to make a move more

efficiently. In addition, the algorithm incorporates an automatic mechanism for adjusting search parameters to maintain a balance between visits to feasible and infeasible regions.

Diaz and Fernandez (2001) proposed a tabu search heuristic for GAP. They presented a relaxed formulation of GAP that allows the search to cross the capacity-infeasibility boundary using a penalty term. A candidate move strategy is also used in which the move with lowest cost is selected and performed. A strategic oscillation scheme is then used to permit alternating between feasible and infeasible solutions. Search diversification and intensification strategies are implemented by means of frequency-based memory.

Lourenco and Serra (2002) proposed hybrid meta-heuristic search techniques for GAP. The algorithm is based on a greedy randomised adaptive heuristic and a MAX-MIN ant system that takes into consideration the search information gathered in earlier iterations of the algorithm in order to construct a good initial solution. In this phase, a relative resource consumed probability is used by considering the ratio of resource to agent capacity. The agent that has the highest probability is chosen for an initial solution. Then, a descendent local search and tabu search are used to improve the search. Several neighbourhoods are studied and used, including one based on ejection chains that can produce good moves.

Feltl and Raidl (2004) proposed an improved hybrid genetic algorithm for GAP. The algorithm is based on the hybrid genetic algorithm proposed by Chu and Beasley (1997). The algorithm includes two initialisation heuristics; constraint-ratio and linear programming heuristics to create more promising solutions, which are mostly feasible. In addition, a modified selection and replacement strategy in GA is used, which assigns infeasible

solutions a fitness value depending only on the relative capacity excess and always ranks them worse than any feasible solution.

6.2.2 Problem formulation

We model GAP as a constraint satisfaction problem (CSP) in order to introduce a constraint-based local search (CLS) to solve this class of CSP. The following notation will be used.

Sets:

I : set of agents, = {1,2,3,…, m } J : set of jobs, = {1,2,3,…, n } Parameters:

pij : assignment profit of job j to agent i

aij : resource required for processing job j by agent i bi : capacity of agent i

Decision variable:

xij : 1, if job j is assigned by agent i, 0 otherwise

In a CSP, optimisation criteria and operational constraints are represented as soft and hard constraints respectively. A feasible solution for a CSP is an assignment to all constrained variables in the model that satisfies all hard constraints, whereas an optimal solution is a feasible solution with the minimum total soft constraint violation. In GAP, the soft constraint is the maximum total profit of assigning jobs to agents. The hard constraints are capacity constraints and coverage constraints.

6.2.2.1 Soft constraint

Maximum total profit - this constraint aims to maximise total profit of assigning jobs to agents, which is defined as:

Coverage constraint - this constraint ensures that each job is assigned to exactly one agent, which is defined as:

In CLS, the coverage constraints are maintained during the search; as a result, these constraints are never violated.

Resource capacity - this constraint ensures that the demand must not exceed the capacity of an agent, which is defined as:

6.2.2.3 Violation strategy

For GAP, the violation of resource capacity constraints is used to evaluate local moves. Any amount of resource required in an agent exceeding its capacity is penalised with the same violation hc. The violation penalty for resource capacity constraint hc is defined as:

i I

The objective of the problem is transformed into the soft constraint (6.1) which will never be satisfied. The soft violation for the maximum total profit constraint is defined as:

∑∑



where: hs is a soft violation penalty for maximum total profit constraint,

∑∑

When the search visits the infeasible region (i.e. hc >0), we evaluate the solutions by the total constraint violation, which can be written as:

(

×

α )

+

=Hs Hc

h (6.6)

where: h is the total constraint violation, Hs is the violation for the total profit constraint,

Hc is the violation for the capacity constraints, and α is a feasibility parameter.

The parameter α represents the violation penalty of using one unit of overloaded agent capacity. The parameter can be adjusted empirically in order to balance the trade-off between hard and soft violations, i.e. as α is increased the search algorithm treats hard constraints as more important relative to the soft constraint.