Pour votre première question, sans l'ordre total, la réponse à votre question est qu'elle est essentiellement aussi difficile que la programmation linéaire. Voici un aperçu d'une preuve.
D'abord, établissons une variable , que nous appelons . Maintenant, choisissons une autre variable , que nous appellerons . Nous voulons nous assurer que
Pour ce faire, considérez les inégalités
etc. Avec une chaîne suffisamment longue, cela nous dira que , ou , pour un très grand ( est un nombre de Fibonacci, et croît donc de façon exponentielle en ).ϵ x i 1 ϵ ≪ 1x1>0ϵxi1x 1 < x 2 , x 1 + x 2 < x 3 , x 2 + x 3 < x 4 , N x 1 < x i ϵ < 1 / N N N i
ϵ≪1.
x1<x2,
x1+x2<x3,
x2+x3<x4,
Nx1<xiϵ<1/NNNi
Nous pouvons maintenant fabriquer un programme linéaire avec des coefficients entiers. Si nous voulons un coefficient de 3 sur , nous ajoutons les inégalités
et laissons reposer pour 3 . Si vous voulez des coefficients plus grands, vous pouvez les obtenir en exprimant les coefficients en notation binaire et en créant des inégalités qui garantissent que , , etc. Pour obtenir le côté droit, nous faisons de même avec la variablext
xt<xt′<xt′′<xt+ϵ
xt+xt′+xt′′xtxu≈2xtxv≈2xuxi=1. Cette technique nous permettra d'utiliser des programmes linéaires de la forme de l'OP pour vérifier approximativement la faisabilité de programmes linéaires arbitraires avec des coefficients entiers, une tâche qui est essentiellement aussi difficile que la programmation linéaire.
Je ne sais pas comment analyser la deuxième question, poser des questions sur le cas où il y a un ordre total sur tous les sous-ensembles.