Weapon target assignment problem
The weapon target assignment problem (WTA) is a class of combinatorial optimization problems present in the fields of optimization and operations research. It consists of finding an optimal assignment of a set of weapons of various types to a set of targets in order to maximize the total expected damage done to the opponent. The basic problem is as follows:

There are a number of weapons and a number of targets. The weapons are of type . There are  available weapons of type . Similarly, there are  targets, each with a value of . Any of the weapons can be assigned to any target. Each weapon type has a certain probability of destroying each target, given by . Notice that as opposed to the classic assignment problem or the generalized assignment problem, more than one agent (i.e., weapon) can be assigned to each task (i.e., target) and not all targets are required to have weapons assigned. Thus, we see that the WTA allows one to formulate optimal assignment problems wherein tasks require cooperation among agents. Additionally, it provides the ability to model probabilistic completion of tasks in addition to costs. Both static and dynamic versions of WTA can be considered. In the static case, the weapons are assigned to targets once. The dynamic case involves many rounds of assignment where the state of the system after each exchange of fire (round) is considered in the next round. While the majority of work has been done on the static WTA problem, recently the dynamic WTA problem has received more attention. In spite of the name, there are nonmilitary applications of the WTA. The main one is to search for a lost object or person by heterogeneous assets such as dogs, aircraft, walkers, etc. The problem is to assign the assets to a partition of the space in which the object is located to minimize the probability of not finding the object. The "value" of each element of the partition is the probability that the object is located there. Formal mathematical definition

The weapon target assignment problem is often formulated as the following nonlinear integer programming problem:

subject to the constraints

Where the variable  represents the assignment of as many weapons of type  to target  and  is the probability of survival (). The first constraint requires that the number of weapons of each type assigned does not exceed the number available. The second constraint is the integral constraint. Notice that minimizing the expected survival value is the same as maximizing the expected damage. Algorithms and generalizations 

An exact solution can be found using branch and bound techniques which utilize relaxation (approximation). Many heuristic algorithms have been proposed which provide near-optimal solutions in polynomial time. Example
A commander has 5 tanks, 2 aircraft, and 1 sea vessel and is told to engage 3 targets with values 5, 10, and 20. Each weapon type has the following success probabilities against each target:
{| class="wikitable"
|-
! Weapon Type ! ! ! ! ! ! |-
| Tank || 0.3 || 0.2 || 0.5
|-
| Aircraft || 0.1 || 0.6 || 0.5
|-
| Sea Vessel || 0.4 || 0.5 || 0.4
|}
One feasible solution is to assign the sea vessel and one aircraft to the highest valued target (3). This results in an expected survival value of . One could then assign the remaining aircraft and 2 tanks to target #2, resulting in expected survival value of . Finally, the remaining 3 tanks are assigned to target #1 which has an expected survival value of . Thus, we have a total expected survival value of . Note that a better solution can be achieved by assigning 3 tanks to target #1, 2 tanks and sea vessel to target #2 and 2 aircraft to target #3, giving an expected survival value of . See also
Auction algorithm
Closure problem
Generalized assignment problem
Linear bottleneck assignment problem
Quadratic assignment problem
Stable marriage problem

References

Further reading 
 

Combinatorial optimization
Matching (graph theory)
Combat modeling