A problem in which things of one type are to be matched with the same number of things of another type in a way that is, in a specified sense, the best possible. For example, when n workers are to be assigned to n jobs, it may be possible to specify the value vij to the company, measured in suitable units, if the i-th worker is assigned to the j-th job. The values vij may be displayed as the entries of an n×n matrix. By introducing suitable variables, the problem of assigning workers to jobs in such a way as to maximize the total value to the company can be formulated as a linear programming problem.