Namespaces
Variants
Actions

Difference between revisions of "Discrete programming"

From Encyclopedia of Mathematics
Jump to: navigation, search
m (MR/ZBL numbers added)
m (tex encoded by computer)
Line 1: Line 1:
A branch of mathematics the subject of which is the study and solution of extremal problems on finite sets. Let <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d0331101.png" /> and let <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d0331102.png" /> be a numerical function defined on the elements of <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d0331103.png" />. The task is to find an element <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d0331104.png" /> on which the absolute minimum (or the absolute maximum) of <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d0331105.png" /> on <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d0331106.png" /> is obtained. Such problems are written down in an abbreviated form as follows:
+
<!--
 +
d0331101.png
 +
$#A+1 = 48 n = 0
 +
$#C+1 = 48 : ~/encyclopedia/old_files/data/D033/D.0303110 Discrete programming
 +
Automatically converted into TeX, above some diagnostics.
 +
Please remove this comment and the {{TEX|auto}} line below,
 +
if TeX found to be correct.
 +
-->
  
<table class="eq" style="width:100%;"> <tr><td valign="top" style="width:94%;text-align:center;"><img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d0331107.png" /></td> </tr></table>
+
{{TEX|auto}}
 +
{{TEX|done}}
  
<table class="eq" style="width:100%;"> <tr><td valign="top" style="width:94%;text-align:center;"><img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d0331108.png" /></td> </tr></table>
+
A branch of mathematics the subject of which is the study and solution of extremal problems on finite sets. Let  $  M = \{ a _ {1} \dots a _ {n} \} $
 +
and let  $  f $
 +
be a numerical function defined on the elements of  $  M $.  
 +
The task is to find an element  $  a _ {j} \in M $
 +
on which the absolute minimum (or the absolute maximum) of  $  f $
 +
on  $  M $
 +
is obtained. Such problems are written down in an abbreviated form as follows:
 +
 
 +
$$
 +
f( x) _ {x \in M }  \rightarrow  \textrm{ extr }
 +
$$
 +
 
 +
$$
 +
\left ( f( x) _ {x \in M }  \rightarrow  \min \  \textrm{ or }
 +
\  f( x) _ {x \in M }  \rightarrow  \max \right ) .
 +
$$
  
 
Discrete programming deals only with the non-trivial problems in this class of problems, which meet the following additional conditions.
 
Discrete programming deals only with the non-trivial problems in this class of problems, which meet the following additional conditions.
  
1) The number <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d0331109.png" /> must be sufficiently large for the problem not to be solvable by direct inspections of the values of <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311010.png" /> manually or with the aid of an electronic computer. Thus, in the travelling salesman problem (which is a typical discrete programming problem), the number of possibilities to traverse <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311011.png" /> points is
+
1) The number $  n = | M | $
 +
must be sufficiently large for the problem not to be solvable by direct inspections of the values of $  f ( a _ {i} ) $
 +
manually or with the aid of an electronic computer. Thus, in the travelling salesman problem (which is a typical discrete programming problem), the number of possibilities to traverse $  m $
 +
points is
  
<table class="eq" style="width:100%;"> <tr><td valign="top" style="width:94%;text-align:center;"><img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311012.png" /></td> </tr></table>
+
$$
 +
( m - 1 ) !  \sim  c \sqrt {m } \left (
 +
\frac{m - 1 }{e}
 +
\right ) ^
 +
{m - 1 } .
 +
$$
  
In the problems of minimization of Boolean functions (cf. [[Boolean functions, minimization of|Boolean functions, minimization of]]; [[Boolean functions, metric theory of|Boolean functions, metric theory of]]) <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311013.png" />.
+
In the problems of minimization of Boolean functions (cf. [[Boolean functions, minimization of|Boolean functions, minimization of]]; [[Boolean functions, metric theory of|Boolean functions, metric theory of]]) $  | M | > 2 ^ {2  ^ {n} } $.
  
2) The problem must not be regular. A problem is said to be regular if: a) for each <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311014.png" /> there is a non-empty neighbourhood <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311015.png" /> and <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311016.png" />; b) a local extremum of <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311017.png" />, i.e. a point <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311018.png" /> such that <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311019.png" />, <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311020.png" />, is defined by a simple algorithm; and c) a local extremum coincides with at least one global extremum.
+
2) The problem must not be regular. A problem is said to be regular if: a) for each $  a _ {i} \in M $
 +
there is a non-empty neighbourhood $  S ( a _ {i} , M ) $
 +
and $  | S ( a _ {i} , M ) | \ll  | M | $;  
 +
b) a local extremum of $  f $,  
 +
i.e. a point $  a _ {i} $
 +
such that $  f ( a _ {i} ) = \mathop{\rm extr}  f( x) $,
 +
$  x \in S ( a _ {i} , M ) $,  
 +
is defined by a simple algorithm; and c) a local extremum coincides with at least one global extremum.
  
Thus, discrete programming deals with problems involving, generally speaking, several local extrema. In typical cases the number of local extrema is very large. Thus, in problems of integer [[Linear programming|linear programming]] with Boolean variables, in which the objective function and the constraints depend on variables <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311021.png" />, the number of elements in <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311022.png" /> does not exceed <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311023.png" />, and the number of local extrema may be equal to <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311024.png" /> [[#References|[2]]]. The degree of difficulty of solving discrete programming problems is determined by the presence of a large number of local extrema. At the time of writing (1988) there are no effective universal methods for solving discrete programming problems. Studies on the minimization of Boolean functions (which is a thoroughly studied model in discrete programming, cf. [[Algorithm, local|Algorithm, local]]) indicate that it is impossible to develop such methods. Sufficiently universal methods, such as branch-and-bound methods [[#References|[1]]] and their various modifications, are methods based on implicit enumeration. They are effectively employed in solving specialized discrete programming problems. However, there is a wide class of problems for which any implicit enumeration method is only little less complex than explicit enumeration methods. Another source of mathematical difficulties in discrete programming problems is that the set <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311025.png" /> on which the extremum of <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311026.png" /> is sought is often given in an implicit form. Thus, in problems of integer linear programming the set <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311027.png" /> is defined as the collection of integer solutions of a system of linear inequalities. If <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311028.png" /> is defined in this way or even in a more complex manner, not only the task of complete enumeration of <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311029.png" />, but even of specifying a single element of <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311030.png" /> becomes a non-trivial problem. As a result, the main results in discrete programming were obtained in solving and studying narrower classes of problems. These include the transportation problem (cf. [[Transport problem|Transport problem]]), the travelling salesman problem and the multi-salesman problem, integer linear programming, scheduling problems (cf. [[Scheduling theory|Scheduling theory]]), extremal problems on graphs (cf. [[Graph theory|Graph theory]]), and problems on the minimal representation of Boolean functions and functions of <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311031.png" />-valued logic, etc.
+
Thus, discrete programming deals with problems involving, generally speaking, several local extrema. In typical cases the number of local extrema is very large. Thus, in problems of integer [[Linear programming|linear programming]] with Boolean variables, in which the objective function and the constraints depend on variables $  x _ {1} \dots x _ {k} $,  
 +
the number of elements in $  M $
 +
does not exceed $  2  ^ {k} $,  
 +
and the number of local extrema may be equal to $  \textrm{ const }  2  ^ {k} / \sqrt k $[[#References|[2]]]. The degree of difficulty of solving discrete programming problems is determined by the presence of a large number of local extrema. At the time of writing (1988) there are no effective universal methods for solving discrete programming problems. Studies on the minimization of Boolean functions (which is a thoroughly studied model in discrete programming, cf. [[Algorithm, local|Algorithm, local]]) indicate that it is impossible to develop such methods. Sufficiently universal methods, such as branch-and-bound methods [[#References|[1]]] and their various modifications, are methods based on implicit enumeration. They are effectively employed in solving specialized discrete programming problems. However, there is a wide class of problems for which any implicit enumeration method is only little less complex than explicit enumeration methods. Another source of mathematical difficulties in discrete programming problems is that the set $  M $
 +
on which the extremum of $  f $
 +
is sought is often given in an implicit form. Thus, in problems of integer linear programming the set $  M $
 +
is defined as the collection of integer solutions of a system of linear inequalities. If $  M $
 +
is defined in this way or even in a more complex manner, not only the task of complete enumeration of $  M $,  
 +
but even of specifying a single element of $  M $
 +
becomes a non-trivial problem. As a result, the main results in discrete programming were obtained in solving and studying narrower classes of problems. These include the transportation problem (cf. [[Transport problem|Transport problem]]), the travelling salesman problem and the multi-salesman problem, integer linear programming, scheduling problems (cf. [[Scheduling theory|Scheduling theory]]), extremal problems on graphs (cf. [[Graph theory|Graph theory]]), and problems on the minimal representation of Boolean functions and functions of $  k $-
 +
valued logic, etc.
  
 
Another trend in the theory of discrete extremal problems is the development of approximation methods, which are usually employed in solving large-size practical problems. In principle, there is no difference between these methods and the corresponding search methods for the extrema of continuous functions and functionals. In discrete programming the algorithms employed are analogues of algorithms of local optimization, descent, random search, etc. For a review of approximation methods of problem solving by discrete programming see [[#References|[3]]].
 
Another trend in the theory of discrete extremal problems is the development of approximation methods, which are usually employed in solving large-size practical problems. In principle, there is no difference between these methods and the corresponding search methods for the extrema of continuous functions and functionals. In discrete programming the algorithms employed are analogues of algorithms of local optimization, descent, random search, etc. For a review of approximation methods of problem solving by discrete programming see [[#References|[3]]].
  
The statistical approach to discrete programming problems is of both theoretical and of applied interest. Let a collection of problems <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311032.png" /> be representable in the form <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311033.png" />, where <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311034.png" /> if <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311035.png" /> and <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311036.png" /> if <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311037.png" />. One says that the subset
+
The statistical approach to discrete programming problems is of both theoretical and of applied interest. Let a collection of problems $  \{ Z \} $
 +
be representable in the form $  \{ Z \} = \cup _ {n=} 1  ^  \infty  \{ Z \} _ {n} $,  
 +
where $  | \{ Z \} _ {i} | > | \{ Z \} _ {j} | $
 +
if $  i> j $
 +
and $  | \{ Z \} _ {n} | \rightarrow \infty $
 +
if $  n \rightarrow \infty $.  
 +
One says that the subset
  
<table class="eq" style="width:100%;"> <tr><td valign="top" style="width:94%;text-align:center;"><img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311038.png" /></td> </tr></table>
+
$$
 +
\{ Z ^ { \prime } \}  = \cup _ {n = 1 } ^  \infty  \{ Z ^ { \prime } \} _ {n} ,\  \{ Z ^ { \prime } \} _ {n} \subset  \{ Z \} _ {n} ,
 +
$$
  
contains almost-all problems <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311039.png" /> if
+
contains almost-all problems $  Z $
 +
if
  
<table class="eq" style="width:100%;"> <tr><td valign="top" style="width:94%;text-align:center;"><img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311040.png" /></td> </tr></table>
+
$$
 +
\lim\limits _ {n \rightarrow \infty } 
 +
\frac{| \{ Z ^ { \prime } \} _ {n} | }{| \{ Z \} | }
 +
  = 1 .
 +
$$
  
The following fact applies to various classes of discrete programming problems: There exists a collection <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311041.png" /> of almost-all problems <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311042.png" /> for which it is possible to find the extremum or a good approximation to it in the class of simple algorithms; this collection is often effectively described. This was first noted in solving the problems of synthesis of optimal control systems, e.g. in the minimization of Boolean functions in the class of disjunctive normal forms (see [[Boolean functions, normal forms of|Boolean functions, normal forms of]], and also [[#References|[4]]]). For instance, the problem of isolating the extremal conjunctions comprised in at least one minimal disjunctive normal form of a Boolean function <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311043.png" /> is unsolvable in the class of local algorithms if <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311044.png" />, where <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311045.png" /> is the index of the local algorithm and <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311046.png" /> is the size of the memory. At the same time the problem of isolating the elementary conjunctions forming part of at least one "almost-minimal" disjunctive normal form for almost-all Boolean functions is solvable in the class of local algorithms if <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311047.png" />, <img align="absmiddle" border="0" src="https://www.encyclopediaofmath.org/legacyimages/d/d033/d033110/d03311048.png" /> [[#References|[5]]]. A similar considerable reduction of the labour involved in almost-all problems may be obtained for extremal problems on graphs, construction of optimal coverings, etc.
+
The following fact applies to various classes of discrete programming problems: There exists a collection $  \{ Z ^ { \prime } \} $
 +
of almost-all problems $  \{ Z \} $
 +
for which it is possible to find the extremum or a good approximation to it in the class of simple algorithms; this collection is often effectively described. This was first noted in solving the problems of synthesis of optimal control systems, e.g. in the minimization of Boolean functions in the class of disjunctive normal forms (see [[Boolean functions, normal forms of|Boolean functions, normal forms of]], and also [[#References|[4]]]). For instance, the problem of isolating the extremal conjunctions comprised in at least one minimal disjunctive normal form of a Boolean function $  F ( x _ {1} \dots x _ {n} ) $
 +
is unsolvable in the class of local algorithms if $  k \cdot l < \textrm{ const } \cdot 2  ^ {n} $,  
 +
where $  k $
 +
is the index of the local algorithm and $  l $
 +
is the size of the memory. At the same time the problem of isolating the elementary conjunctions forming part of at least one "almost-minimal" disjunctive normal form for almost-all Boolean functions is solvable in the class of local algorithms if $  k= 2 $,  
 +
$  l= 1 $[[#References|[5]]]. A similar considerable reduction of the labour involved in almost-all problems may be obtained for extremal problems on graphs, construction of optimal coverings, etc.
  
 
====References====
 
====References====
 
<table><TR><TD valign="top">[1]</TD> <TD valign="top"> A.A. Korbut, Yu.Yu. Finkel'shtein, "Discrete programming" , Moscow (1969) (In Russian) {{MR|0261958}} {{ZBL|0839.90116}} {{ZBL|0576.90069}} {{ZBL|0218.90034}} </TD></TR><TR><TD valign="top">[2]</TD> <TD valign="top"> V.K. Korobkov, "On certain integer-valued problems of linear programming" ''Probl. Kibernetiki'' , '''14''' (1965) pp. 297–299 (In Russian)</TD></TR><TR><TD valign="top">[3]</TD> <TD valign="top"> Yu.Yu. Finkel'shtein, "Approximate methods and applied problems in discrete programming" , Moscow (1976) (In Russian)</TD></TR><TR><TD valign="top">[4]</TD> <TD valign="top"> , ''Discrete mathematics and mathematical problems in cybernetics'' , '''1''' , Moscow (1974) (In Russian) {{MR|}} {{ZBL|1185.68346}} </TD></TR><TR><TD valign="top">[5]</TD> <TD valign="top"> Yu.I. Zhuravlev, "Appraisals of the complexity of local algorithms for certain extremal properties on finite sets" ''Diskretn. Anal.'' , '''3''' (1964) pp. 41–77 (In Russian)</TD></TR></table>
 
<table><TR><TD valign="top">[1]</TD> <TD valign="top"> A.A. Korbut, Yu.Yu. Finkel'shtein, "Discrete programming" , Moscow (1969) (In Russian) {{MR|0261958}} {{ZBL|0839.90116}} {{ZBL|0576.90069}} {{ZBL|0218.90034}} </TD></TR><TR><TD valign="top">[2]</TD> <TD valign="top"> V.K. Korobkov, "On certain integer-valued problems of linear programming" ''Probl. Kibernetiki'' , '''14''' (1965) pp. 297–299 (In Russian)</TD></TR><TR><TD valign="top">[3]</TD> <TD valign="top"> Yu.Yu. Finkel'shtein, "Approximate methods and applied problems in discrete programming" , Moscow (1976) (In Russian)</TD></TR><TR><TD valign="top">[4]</TD> <TD valign="top"> , ''Discrete mathematics and mathematical problems in cybernetics'' , '''1''' , Moscow (1974) (In Russian) {{MR|}} {{ZBL|1185.68346}} </TD></TR><TR><TD valign="top">[5]</TD> <TD valign="top"> Yu.I. Zhuravlev, "Appraisals of the complexity of local algorithms for certain extremal properties on finite sets" ''Diskretn. Anal.'' , '''3''' (1964) pp. 41–77 (In Russian)</TD></TR></table>
 
 
  
 
====Comments====
 
====Comments====

Revision as of 19:36, 5 June 2020


A branch of mathematics the subject of which is the study and solution of extremal problems on finite sets. Let $ M = \{ a _ {1} \dots a _ {n} \} $ and let $ f $ be a numerical function defined on the elements of $ M $. The task is to find an element $ a _ {j} \in M $ on which the absolute minimum (or the absolute maximum) of $ f $ on $ M $ is obtained. Such problems are written down in an abbreviated form as follows:

$$ f( x) _ {x \in M } \rightarrow \textrm{ extr } $$

$$ \left ( f( x) _ {x \in M } \rightarrow \min \ \textrm{ or } \ f( x) _ {x \in M } \rightarrow \max \right ) . $$

Discrete programming deals only with the non-trivial problems in this class of problems, which meet the following additional conditions.

1) The number $ n = | M | $ must be sufficiently large for the problem not to be solvable by direct inspections of the values of $ f ( a _ {i} ) $ manually or with the aid of an electronic computer. Thus, in the travelling salesman problem (which is a typical discrete programming problem), the number of possibilities to traverse $ m $ points is

$$ ( m - 1 ) ! \sim c \sqrt {m } \left ( \frac{m - 1 }{e} \right ) ^ {m - 1 } . $$

In the problems of minimization of Boolean functions (cf. Boolean functions, minimization of; Boolean functions, metric theory of) $ | M | > 2 ^ {2 ^ {n} } $.

2) The problem must not be regular. A problem is said to be regular if: a) for each $ a _ {i} \in M $ there is a non-empty neighbourhood $ S ( a _ {i} , M ) $ and $ | S ( a _ {i} , M ) | \ll | M | $; b) a local extremum of $ f $, i.e. a point $ a _ {i} $ such that $ f ( a _ {i} ) = \mathop{\rm extr} f( x) $, $ x \in S ( a _ {i} , M ) $, is defined by a simple algorithm; and c) a local extremum coincides with at least one global extremum.

Thus, discrete programming deals with problems involving, generally speaking, several local extrema. In typical cases the number of local extrema is very large. Thus, in problems of integer linear programming with Boolean variables, in which the objective function and the constraints depend on variables $ x _ {1} \dots x _ {k} $, the number of elements in $ M $ does not exceed $ 2 ^ {k} $, and the number of local extrema may be equal to $ \textrm{ const } 2 ^ {k} / \sqrt k $[2]. The degree of difficulty of solving discrete programming problems is determined by the presence of a large number of local extrema. At the time of writing (1988) there are no effective universal methods for solving discrete programming problems. Studies on the minimization of Boolean functions (which is a thoroughly studied model in discrete programming, cf. Algorithm, local) indicate that it is impossible to develop such methods. Sufficiently universal methods, such as branch-and-bound methods [1] and their various modifications, are methods based on implicit enumeration. They are effectively employed in solving specialized discrete programming problems. However, there is a wide class of problems for which any implicit enumeration method is only little less complex than explicit enumeration methods. Another source of mathematical difficulties in discrete programming problems is that the set $ M $ on which the extremum of $ f $ is sought is often given in an implicit form. Thus, in problems of integer linear programming the set $ M $ is defined as the collection of integer solutions of a system of linear inequalities. If $ M $ is defined in this way or even in a more complex manner, not only the task of complete enumeration of $ M $, but even of specifying a single element of $ M $ becomes a non-trivial problem. As a result, the main results in discrete programming were obtained in solving and studying narrower classes of problems. These include the transportation problem (cf. Transport problem), the travelling salesman problem and the multi-salesman problem, integer linear programming, scheduling problems (cf. Scheduling theory), extremal problems on graphs (cf. Graph theory), and problems on the minimal representation of Boolean functions and functions of $ k $- valued logic, etc.

Another trend in the theory of discrete extremal problems is the development of approximation methods, which are usually employed in solving large-size practical problems. In principle, there is no difference between these methods and the corresponding search methods for the extrema of continuous functions and functionals. In discrete programming the algorithms employed are analogues of algorithms of local optimization, descent, random search, etc. For a review of approximation methods of problem solving by discrete programming see [3].

The statistical approach to discrete programming problems is of both theoretical and of applied interest. Let a collection of problems $ \{ Z \} $ be representable in the form $ \{ Z \} = \cup _ {n=} 1 ^ \infty \{ Z \} _ {n} $, where $ | \{ Z \} _ {i} | > | \{ Z \} _ {j} | $ if $ i> j $ and $ | \{ Z \} _ {n} | \rightarrow \infty $ if $ n \rightarrow \infty $. One says that the subset

$$ \{ Z ^ { \prime } \} = \cup _ {n = 1 } ^ \infty \{ Z ^ { \prime } \} _ {n} ,\ \{ Z ^ { \prime } \} _ {n} \subset \{ Z \} _ {n} , $$

contains almost-all problems $ Z $ if

$$ \lim\limits _ {n \rightarrow \infty } \frac{| \{ Z ^ { \prime } \} _ {n} | }{| \{ Z \} | } = 1 . $$

The following fact applies to various classes of discrete programming problems: There exists a collection $ \{ Z ^ { \prime } \} $ of almost-all problems $ \{ Z \} $ for which it is possible to find the extremum or a good approximation to it in the class of simple algorithms; this collection is often effectively described. This was first noted in solving the problems of synthesis of optimal control systems, e.g. in the minimization of Boolean functions in the class of disjunctive normal forms (see Boolean functions, normal forms of, and also [4]). For instance, the problem of isolating the extremal conjunctions comprised in at least one minimal disjunctive normal form of a Boolean function $ F ( x _ {1} \dots x _ {n} ) $ is unsolvable in the class of local algorithms if $ k \cdot l < \textrm{ const } \cdot 2 ^ {n} $, where $ k $ is the index of the local algorithm and $ l $ is the size of the memory. At the same time the problem of isolating the elementary conjunctions forming part of at least one "almost-minimal" disjunctive normal form for almost-all Boolean functions is solvable in the class of local algorithms if $ k= 2 $, $ l= 1 $[5]. A similar considerable reduction of the labour involved in almost-all problems may be obtained for extremal problems on graphs, construction of optimal coverings, etc.

References

[1] A.A. Korbut, Yu.Yu. Finkel'shtein, "Discrete programming" , Moscow (1969) (In Russian) MR0261958 Zbl 0839.90116 Zbl 0576.90069 Zbl 0218.90034
[2] V.K. Korobkov, "On certain integer-valued problems of linear programming" Probl. Kibernetiki , 14 (1965) pp. 297–299 (In Russian)
[3] Yu.Yu. Finkel'shtein, "Approximate methods and applied problems in discrete programming" , Moscow (1976) (In Russian)
[4] , Discrete mathematics and mathematical problems in cybernetics , 1 , Moscow (1974) (In Russian) Zbl 1185.68346
[5] Yu.I. Zhuravlev, "Appraisals of the complexity of local algorithms for certain extremal properties on finite sets" Diskretn. Anal. , 3 (1964) pp. 41–77 (In Russian)

Comments

Discrete programming, or "combinatorial optimizationcombinatorial optimization" , is a very active research area, which integrates and stimulates developments in discrete mathematics, probability theory, operations research, and computer science. A number of benchmark references from the Western literature is given below.

References

[a1] M. Gondran, M. Minoux, "Graphs and algorithms" , Wiley (1984) MR0745802 Zbl 0611.90096
[a2] E.L. Lawler, "Combinatorial optimization: networks and matroids" , Holt, Rinehart & Winston (1976) MR0439106 Zbl 0413.90040
[a3] E.L. Lawler (ed.) J.K. Lenstra (ed.) A.H.G. Rinnooy Kan (ed.) D.B. Shmoys (ed.) , The traveling salesman problem: a guided tour of combinatorial optimization , Wiley (1985) Zbl 0562.00014
[a4] C.H. Papadimitriou, K. Steiglitz, "Combinatorial optimization. Algorithms and complexity" , Prentice-Hall (1982) MR0663728 Zbl 0503.90060
[a5] A. Schrijver, "Theory of linear and integer programming" , Wiley (1986) MR0874114 Zbl 0665.90063
How to Cite This Entry:
Discrete programming. Encyclopedia of Mathematics. URL: http://encyclopediaofmath.org/index.php?title=Discrete_programming&oldid=24423
This article was adapted from an original article by Yu.I. Zhuravlev (originator), which appeared in Encyclopedia of Mathematics - ISBN 1402006098. See original article