© Hindawi Publishing Corp. METHOD FOR SOLVING A CONVEX INTEGER PROGRAMMING PROBLEM

We consider a convex integer program which is a nonlinear version of the assignment problem. This problem is reformulated as an equivalent problem. An algorithm for solving the original problem is suggested which is based on solving the simple assignment problem via some of known algorithms.

x ij = 1, j = 1,...,n, x ij ≥ 0, x ij ∈ Z, i,j = 1,...,n, (1.2) where A = (a ij ) n i,j=1 , X = (x ij ) n i,j=1 are matrices of real entries. Linear functions a ij x ij are both convex and concave, and maximum of convex functions is also convex. Therefore c(X) is a convex function.
Such a problem arises, for example, in determining the optimal matching, and it is a nonlinear version of the assignment problem (see [5,6]) and the marriage problem (see [8]).
Convex continuous programming is one of the most developed branches of the nonlinear programming (see, e.g., [1,2,10,11]); however, integer nonlinear programming problems and, in particular, integer convex programming problems are quite difficult and there is no general approach for solving such problems. That is why methods and algorithms for-even specific-problems of this type are very useful.

Main result.
To each real number r , associate via the matrix A the matrix We say that r ∈ F if there exists anα ∈ Ꮽ with a r iα(i) = 1, i= 1,...,n, (2.2) that is, if the simple assignment problem with a matrix A r = (a r ij ) n i,j=1 is solvable, Whether r ∈ F or not can be determined, for example, via the algorithm of Ford and Fulkerson (see [3,4]) or via the Hungarian method (see [9,12]). (ii) We will prove that µ ≤ ν. From definition of ν it follows that ν ∈ F , that is, there exists an α ∈ Ꮽ such that a ν iα(i) = 1, i= 1,...,n. (2.8) However, Relations (2.7) and (2.12) imply µ = ν.
3. An algorithm for finding µ. Reindex all entries of the matrix A = (a ij ) n i,j=1 in strictly increasing order; equal elements are considered once: We say that k ∈ F * if a i k j k ∈ F . Denote by [x] the largest integer less than or equal to x. Let where k > 0, l ≥ 0, be part of the sequence of the positive integers. The number [(2k + l)/2] is said to be the average number of sequence (3.3). Find the average number n 1 of the sequence (3.2). Throw away half of the sequence (3.2) for which k ≥ n 1 if n 1 ∈ F * , and k ≤ n 1 if n 1 ∈ F * . After that, find the average number n 2 of the remaining sequence (half-sequence of (3.2)) and similarly throw away its half-sequence. Continue this process until all terms of the sequence (3.2) are thrown away.
Denote by n k the average number of the sequence obtained from (3.2) after we have thrown away the respective half-sequences k − 1 times. Denote by m the number of steps necessary for throwing away all elements of sequence (3.2). Then µ = a i n * j n * .

Proof.
Let Our purpose is to prove that n * = k * . From definitions of n * , k * , and n k it is obvious that according to definition of k * . Assume that n * > k * strictly. Taking into account (3.7), it turns out that after the mth step of throwing away the respective half-sequence, we have not thrown away number k * from the sequence (3.2), which contradicts the definition of m (m is the number of steps necessary for throwing away all elements of sequence (3.2)). Therefore this assumption was wrong, and (3.6) implies n * = k * . From definitions of k * and ν (Theorem 2.1) it follows that a i k * j k * ≡ a i n * j n * = ν, (3.8) and according to Theorem 2.1 (µ = ν), we have µ = a i n * j n * . From definitions of a, b, and µ it follows that That is why the sequence (3.1) could begin with b. In any case the number of all entries of matrix A satisfying condition (4.1) is at least n. In case that this number is exactly equal to n, then µ = b. Let integers k and l satisfy Then from definitions of p and n and the algorithm for finding µ it follows that 5. An algorithm for finding α * . Let µ be found. Construct the matrix A µ = (a µ ij ) n i,j=1 (see Section 2). From µ ∈ F it follows that there exists an α * such that a µ iα * (i) = 1, i= 1,...,n, (5.1) that is, the simple assignment problem associated with matrix A µ = (a µ ij ) n i,j=1 , is solvable. The problem of finding α * is now reduced to solving the simple assignment problem that can be solved, for example, via the method of Ford and Fulkerson (see [3,4]), via the Hungarian method (see [9,12]), or via other methods (see, e.g., [7]).

Concluding remarks.
In this note, we study a convex integer programming problem which can be considered as a nonlinear version of the assignment problem. Due to specificity of this problem, it is reformulated as an equivalent problem and an algorithm for solving it is suggested which is based on solving the simple assignment problem.