General Assignment Problem Template
General Assignment Problem Template
Abstract
In this paper we present a mechanism to improve the solution quality of an existing heuristic
based general assignment problem solver by adjusting the heuristic. The heuristic is tweaked
using a set of parameters suggested by a genetic algorithm. The genetic algorithm is applied
in a way that reduces the amount of involvement required to understand the existing solution.
To illustrate the proposed approach we present the design implementation and simulation
results for an application. This application addresses the problem of target allocation for a
team of unmanned air vehicles that results in an efficient use of available resources. This
approach could be easily applied to an existing heuristic based general assignment problem
Keywords
optimization problem. The GAP consists in assigning a set of tasks to a set of agents with
minimum cost. Each agent has a limited amount of a single resource and each task must be
assigned to one and only one agent, requiring a certain amount of the resource of the agent.
Exact and heuristic algorithms have been suggested to solve the GAP [CAT92],
improve the quality of the solution for an existing heuristic based greedy solution for a GAP.
Various attempts have been made for the application of a genetic algorithm to solve the GAP.
One such approach is to use the GA as the heuristic [CHU97]. In this approach the solution is
based on the genetic algorithm. It requires a good representation of the problem space. Special
considerations should be made to avoid invalid solutions to the problem. Another attempt is
made using a Constructive Genetic Algorithm (CGA), a modified genetic algorithm [LOR02].
In this approach a bi-objective search is used to reduce the computations. In this approach
In this paper we are proposing a mechanism to improve an existing GAP solver by adjusting
the existing heuristic. The heuristic is tweaked using a set of parameters suggested by the
genetic algorithm. This approach reduces the amount of involvement required to understand
the existing solution for a GAP. This approach could be easily applied to any existing
heuristic based GAP solver to improve the solution quality. Many real life applications can be
formulated as a GAP. Examples include resource scheduling, the allocation of memory space
computers in a network, vehicle routing problems, and others. In this paper we use an existing
special case of a GAP. This work demonstrates the application of a GA to improve the
solution quality provided by the existing solver. The CTP is different from the normal
shipment problem. In CTP we can have transshipment points through which the supplier
could reach a demand point. The existing CTP solver used is proposed in [NYG01] for a Low
LOCAAS weapons systems are small aircrafts, each with a small turbojet engine with
sufficient fuel to fly for about 30 minutes. These will be deployed in teams and the objective
is to be able to assign a set of targets. This problem has been approached as a linear
programming problem [NYG01]. In this approach each LOCAAS gets an assignment for one
target. In the event of having multiple targets, it is suggested to use an iterative version of the
above solver. In the iterative approach each iteration will allow the solver to freeze one target
for a specific Unmanned Air Vehicle (UAV) and then go ahead with the rest of the targets
until all the targets are assigned. This will lead to a sequence of tasks for each UAV thus
providing it with a plan of attack. In this paper we try to improve the global solution quality of
the iterative approach by introducing a genetic algorithm. The GA is used to influence the
by taking a population of solutions and applying genetic operators in each reproduction. Each
solution is evaluated and better solutions are given more opportunities to reproduce.
Combining existing solutions through the process of reproduction generates new solutions.
[GOL89],[CHU97]
propose the use of a GA to suggest better variations to the existing greedy solver as a novel
approach. In this approach changes done to the existing solver will not affect the GA based
application. It can run independently and suggest variations to the solver. Iterative
Capacitated Transshipment (ICTP) Solver is an existing greedy solver for the GAP. In each
iteration the solver will freeze one agent task point, until the solution runs out of supplies or
all the tasks are assigned. The greedy heuristic used in this approach will fix the agent task
point for the first agent with the ability to finish the task.
2 Proposed Design
In this section we give a high level description of the proposed solution. The solution consists
of three components, namely the capacitated transshipment problem solver (CTP), Iterative
The existing CTP solver will assign the best set of targets for the available set of UAVs. Each
UAV will be assigned only one target. Given n UAVs and m targets the CTP will assign n
2.2 Extension using the Iterative CTP to plan a path for the UAVs.
The ICTP solver will assign a set of targets for each UAV. In this approach the UAV with the
earliest completion time will be permanently assigned that target and the CTP solver will be
executed again with the remaining targets. Primary objective is to be able to assign multiple
targets to each UAV. Targets will be assigned to each UAV until it runs out of resources or
ICTP approach is a greedy approach to arrive at a quick solution. It is clear that the naïve
approach of fixing the target for the UAV with the earliest completion time will not arrive at a
near global optimum for all cases. This observation leads us to consider other options to fix
the targets. In this paper we have tried three different target fixing schemes by assigning
weights to the UAVs and targets. The weighting scheme allows the solution to fix the targets
with some influence from the respective weights. The GA supplies the weight for each item.
The greedy algorithm then uses this weight as part of the metric that determines the order of
selection. This allows the GA to reorder the greedy order suggested by the naïve approach.
Quality of each solution is measured by observing the target assignment for total coverage
and resource utilization. The GA will use feedback from the quality of solution to guide the
3.0 Implementation
implementation of the ICTP was used with a publicly available GA implementation. Most of
the implementation effort was spent on writing glue code and application specific routines.
GENESIS is a system for function optimization based on genetic search techniques [GRE87].
This is implemented in C and the code is publicly available. The existing ICTP is
implemented in C++. The interface requirement for the GA is to be able to supply the set of
weights and get the evaluation from the ICTP. Figure 1 shows an outline of the proposed
setup for the solution. The solver will take the available UAVs and the identified targets as an
input. It will output a list of targets assigned for each UAV. The existing implementation of
ICTP was modified to allow multiple target fixing schemes to be used. Several approaches
were tried and we finally decided on having the GA call the ICTP through the main program
interface. This approach allowed to setup this application with the least amount of
Input:
Available UAVs
Identified Targets
GA Suggested Wts ICTP
Output:
UAVs
assigned
Solution Quality multiple
Targets
Figure 1
The weighting scheme allows us to influence the target assignment for each iteration of the
suggested by the CTP is ranked with a function that takes time to complete, and suggested
weight into account. Top ranked assignment is fixed for that iteration. Different weight values
selected by the GA will cause items to be assigned in order based on the weight value. Three
different schemes were evaluated in assigning weights. They are UAVs only, Targets only
[GOL89]. In this application the final objective is to assign the maximum possible number of
targets for the available UAVs. Desired qualities of the expected solution are, maximum
coverage and the ability to maximize on the average number missions per UAV. Several
variations were tried and the following function was used as the evaluation function.
∑ t.assigned
t∈targets 1
QualityOfSolution = ×
∑ u.used (1 + ∑
u∈UAVs t∈targets
¬t.assigned
Where: t.assigned: indicates a target that is assigned in this solution; t.used: indicates a UAV
used for this solution; t.assigned and t.used are boolean functions; targets : all targets in test
bed, UAVs: all UAVs available for the task.
In this section we present experimental results to show the improvement in quality of solution
with the proposed approach. Initially we present 2 selected graphical examples of test cases
where the proposed solution performs better than the existing solution. Finally we present the
Figure 2 shows two example scenarios of how the GA based solution performs better than the
existing ICTP solution. The simulations were done for 2 UAVs with 6 targets and minimal
amount of combined range (radius of maximum possible flight distance) for the UAVs to
cover all targets. In Figure 2 left, two targets are not assigned where the GA based solution is
able to assign all targets. In figure 2 right the GA based solution is able to capture all the
targets where the ICTP based solution will miss 2 targets. It can be clearly observed that the
Range
GAICTP
ICTP
Target
UAV
Figure 2
Simulations were conducted with randomly generated sets of test cases. Each target was
assumed to be equally valuable. Targets were spread around an area that can be covered by
the combined range available on all the UAVs. Results of the experiments are given on Table
A in the Appendix. The solution is compared against the existing ICTP. Summarized results
are given in Table 1. Measure of comparison used is the ratio of targets covered by the
solution. It is clear from the values that the GA based solution is better than ICTP. There is
also a slight improvement shown with an increase in the number of weights in the weight
scheme. The three weight schemes discussed in section 3.2 are compared. Weight usage is
given as a ratio against the scheme that uses the maximum number of weights.
ICTP GA
Weight Scheme - UAVs Targets UAVs & Targets
Coverage 0.896 0.944 0.950 0.958
Weight usage - 0.2 0.8 1.0
Table 1
Table A (in Appendix) also shows number of trials and the generation number to achieve 10
percent convergence for each solution. This can be used as an indication of the amount of
computation required for each solution. Each trial requires the execution of the ICTP. Most of
the computational overhead is spent on the ICTP. Computational cost can be estimated by
We have clearly shown that the GA based solution is better than the existing ICTP. Thus we
understand the existing solution for a GAP. This approach could be easily applied to any
existing heuristic based GAP solver to improve the solution quality. As described in this paper
Further work can be done to evaluate a reliable stopping condition for the GA for this
application. Computational cost should also be evaluated for feasibility purposes. Attempts
should be made on other application areas to substantiate the broader claim of using a GA to
[CHU97] A genetic algorithm for the generalized assignment problem, P.C. Chu
and J.E. Beasley, Camp. Opns. Res 24(1), 17-23, 1997.