domicile - Étages
Résoudre le slp en utilisant la méthode du simplexe. Méthode simplex pour résoudre des problèmes de programmation linéaire

... Algorithme de la méthode simplex

Exemple 5.1. Résolvez le problème de programmation linéaire suivant à l'aide de la méthode du simplexe :

Solution:

je itération:

x3, x4, x5, x6 x1,x2... Exprimons les variables de base en termes de variables libres :

Ramenons la fonction objectif à la forme suivante :

Sur la base du problème obtenu, nous allons former le tableau simplex initial :

Tableau 5.3

Tableau simplex source

Relations d'évaluation

Selon la définition de la solution de base, les variables libres sont égales à zéro, et les valeurs des variables de base sont égales aux valeurs correspondantes des nombres libres, c'est-à-dire :

Étape 3 : vérification de la compatibilité du système de restriction LPP.

A cette itération (dans le tableau 5.3), le signe d'incompatibilité du système de restrictions (signe 1) n'a pas été identifié (i.e., il n'y a pas de ligne avec un nombre libre négatif (sauf pour la ligne fonction objectif), dans laquelle il n'y aurait pas au moins un élément négatif (c'est-à-dire un coefficient négatif à la variable libre)).

A cette itération (dans le tableau 5.3), le signe de l'illimité de la fonction objectif (signe 2) n'a pas été identifié (c'est-à-dire qu'il n'y a pas de colonne avec un élément négatif dans la ligne de la fonction objectif (à l'exception de la colonne de libre nombres), dans lesquels il n'y aurait pas au moins un élément positif) ...

Comme la solution de base trouvée ne contient pas de composantes négatives, elle est admissible.

Étape 6 : vérification de l'optimalité.

La solution de base trouvée n'est pas optimale, puisque selon le critère d'optimalité (caractéristique 4), il ne devrait pas y avoir d'éléments négatifs dans la ligne de la fonction objectif (le nombre libre de cette ligne n'est pas pris en compte pour considérer cette caractéristique). Donc, selon l'algorithme de la méthode du simplexe, on passe à la 8ème étape.

La solution de base trouvée étant admissible, la recherche de la colonne résolvante s'effectuera selon le schéma suivant : on détermine les colonnes à éléments négatifs dans la ligne de la fonction objectif (à l'exception de la colonne des nombres libres). Selon le tableau 5.3, il existe deux colonnes de ce type : la colonne «  x1"Et la colonne" x2". Parmi ces colonnes, celle qui contient le plus petit élément dans la ligne de la fonction objectif est sélectionnée. Elle va se résoudre. Conférencier " x2"Contient le plus petit élément (–3) par rapport à la colonne" x1

Pour déterminer la ligne de résolution, nous trouvons les rapports évaluatifs positifs des nombres libres aux éléments de la colonne de résolution, la ligne, qui correspond au plus petit rapport évaluatif positif, est considérée comme autorisée.

Tableau 5.4

Tableau simplex source

Dans le tableau 5.4, le plus petit ratio estimé positif correspond à la ligne « x5», Par conséquent, il sera résolu.

L'élément situé à l'intersection de la colonne d'autorisation et de la ligne d'autorisation est accepté comme autorisation. Dans notre exemple, il s'agit d'un élément situé à l'intersection de la ligne " x5"Et des colonnes" x2».

L'élément de résolution montre une variable de base et une variable libre qui doivent être échangées dans la table simplex afin de passer à une nouvelle solution de base "améliorée". V dans ce cas ce sont des variables x5 et x2, dans la nouvelle table simplex (table 5.5) nous les échangeons.

9.1. Transformation de l'élément de résolution.

L'élément permissif du tableau 5.4 est transformé comme suit :

Nous inscrivons le résultat obtenu dans une cellule similaire du tableau 5.5.

9.2. Convertissez la chaîne de résolution.

Nous divisons les éléments de la ligne de résolution du tableau 5.4 par l'élément de résolution de ce tableau simplex, les résultats s'insèrent dans des cellules similaires du nouveau tableau simplex (tableau 5.5). Les transformations des éléments de la ligne de résolution sont données dans le Tableau 5.5.

9.3. Conversion de colonne de résolution.

Les éléments de la colonne de résolution du tableau 5.4 sont divisés par l'élément de résolution du tableau simplex donné, et le résultat est pris avec le signe opposé. Les résultats obtenus s'insèrent dans des cellules similaires du nouveau tableau simplex (tableau 5.5). Les transformations des éléments de la colonne de résolution sont présentées dans le tableau 5.5.

9.4. Convertissez le reste des éléments de la table simplex.

La transformation des éléments restants de la table simplex (c'est-à-dire des éléments non situés dans la ligne de résolution et la colonne de résolution) est effectuée selon la règle du "rectangle".

Par exemple, considérons la transformation d'un élément situé à l'intersection de la chaîne " x3"Et la colonne"", on la désignera conventionnellement comme" x3". Dans le tableau 5.4, dessinez mentalement un rectangle dont un sommet est situé dans la cellule, dont nous transformons la valeur (c'est-à-dire dans la cellule " x3»), Et l'autre (sommet diagonal) est dans la cellule avec l'élément de résolution. Les deux autres sommets (la deuxième diagonale) sont déterminés de manière unique. Puis la valeur transformée de la cellule " x3« Sera égal à la valeur précédente de cette cellule moins la fraction, au dénominateur de laquelle se trouve un élément de résolution (du tableau 5.4), et au numérateur le produit de deux autres sommets inutilisés, c'est-à-dire :

« x3»: .

Les valeurs des autres cellules sont transformées de la même manière :

« x3 x1»: ;

« x4»: ;

« x4 x1»: ;

« x6»: ;

« x6 x1»: ;

«»: ;

« x1»: .

À la suite de ces transformations, une nouvelle table simplex a été obtenue (tableau 5.5).

II itération:

Étape 1 : élaboration d'un tableau simplex.

Tableau 5.5

Tableau rectoII itérations

Estimé

relation amoureuse

Etape 2 : détermination de la solution basique.

À la suite des transformations du simplexe, une nouvelle solution de base a été obtenue (tableau 5.5) :

Comme vous pouvez le voir, avec cette solution de base, la valeur de la fonction objectif = 15, ce qui est plus qu'avec la solution de base précédente.

L'incohérence du système de restrictions conformément à l'attribut 1 du tableau 5.5 n'a pas été révélée.

Étape 4 : vérification de la limitation de la fonction objectif.

Le caractère illimité de la fonction objectif conformément à la caractéristique 2 du tableau 5.5 n'a pas été révélé.

Étape 5 : vérification de la recevabilité de la solution de base trouvée.

La solution de base trouvée conformément à la caractéristique 4 n'est pas optimale, car la ligne de la fonction objectif de la table du simplexe (tableau 5.5) contient un élément négatif : –2 (le nombre libre de cette ligne n'est pas pris en compte dans cette considération caractéristique). On passe donc à l'étape 8.

Étape 8 : détermination de l'élément résolvant.

8.1. Définition de la colonne de résolution.

La solution de base trouvée est admissible, on définit les colonnes avec des éléments négatifs dans la ligne de la fonction objectif (sauf pour la colonne des nombres libres). Selon le tableau 5.5, une seule colonne est une telle colonne : « x1". Par conséquent, nous l'acceptons comme autorisé.

8.2. Détermination de la chaîne d'autorisation.

Selon les valeurs obtenues des rapports évaluatifs positifs dans le tableau 5.6, le minimum est le rapport correspondant à la ligne " x3". Par conséquent, nous l'acceptons comme autorisé.

Tableau 5.6

Tableau rectoII itérations

Estimé

relation amoureuse

3/1 = 3 - min

Etape 9 : transformation de la table simplex.

Les transformations de table simplex (tableaux 5.6) sont effectuées de la même manière que dans l'itération précédente. Les résultats des transformations des éléments d'un tableau simplex sont présentés dans le tableau 5.7.

III itération

Sur la base des résultats des transformations simplex de l'itération précédente, nous composons une nouvelle table simplex :

Tableau 5.7

Tableau rectoIII itérations

Estimé

relation amoureuse

Etape 2 : détermination de la solution basique.

À la suite des transformations du simplexe, une nouvelle solution de base a été obtenue (tableau 5.7) :

Étape 3 : vérification de la cohérence du système de contraintes.

L'incohérence du système de restrictions conformément à l'attribut 1 du tableau 5.7 n'a pas été révélée.

Étape 4 : vérification de la limitation de la fonction objectif.

Le caractère illimité de la fonction objectif conformément à la caractéristique 2 du tableau 5.7 n'a pas été révélé.

Étape 5 : vérification de la recevabilité de la solution de base trouvée.

La solution de base trouvée conformément à l'attribut 3 est admissible, car elle ne contient pas de composantes négatives.

Étape 6 : vérification de l'optimalité de la solution de base trouvée.

La solution de base trouvée conformément à la caractéristique 4 n'est pas optimale, puisque la ligne de la fonction objectif de la table du simplexe (tableau 5.7) contient un élément négatif : –3 (le nombre libre de cette ligne n'est pas pris en compte dans cette considération caractéristique). On passe donc à l'étape 8.

Étape 8 : détermination de l'élément résolvant.

8.1. Définition de la colonne de résolution.

La solution de base trouvée est admissible, on définit les colonnes avec des éléments négatifs dans la ligne de la fonction objectif (sauf pour la colonne des nombres libres). Selon le tableau 5.7, une seule colonne est une telle colonne : « x5". Par conséquent, nous l'acceptons comme autorisé.

8.2. Détermination de la chaîne d'autorisation.

Selon les valeurs obtenues des rapports évaluatifs positifs dans le tableau 5.8, le minimum est le rapport correspondant à la ligne " x4". Par conséquent, nous l'acceptons comme autorisé.

Tableau 5.8

Tableau rectoIII itérations

Estimé

relation amoureuse

5/5 = 1 - min

Etape 9 : transformation de la table simplex.

Les transformations de table simplex (tableau 5.8) sont effectuées de la même manière que dans l'itération précédente. Les résultats des transformations des éléments d'un tableau simplex sont présentés dans le tableau 5.9.

IV itération

Étape 1 : construction d'une nouvelle table simplex.

Sur la base des résultats des transformations simplex de l'itération précédente, nous composons une nouvelle table simplex :

Tableau 5.9

Tableau rectoIV itérations

Estimé

relation amoureuse

–(–3/5)=3/5

–(1/5)=–1/5

–(9/5)=–9/5

–(–3/5)=3/5

Etape 2 : détermination de la solution basique.

À la suite des transformations du simplexe, une nouvelle solution de base a été obtenue, selon le tableau 5.9, la solution est la suivante :

Étape 3 : vérification de la cohérence du système de contraintes.

L'incohérence du système de restrictions conformément à l'attribut 1 du tableau 5.9 n'a pas été révélée.

Étape 4 : vérification de la limitation de la fonction objectif.

Le caractère illimité de la fonction objectif conformément à la caractéristique 2 du tableau 5.9 n'a pas été révélé.

Étape 5 : vérification de la recevabilité de la solution de base trouvée.

La solution de base trouvée conformément à l'attribut 3 est admissible, car elle ne contient pas de composantes négatives.

Étape 6 : vérification de l'optimalité de la solution de base trouvée.

La solution de base trouvée conformément à la caractéristique 4 est optimale, car il n'y a pas d'éléments négatifs dans la ligne de la fonction objectif de la table du simplexe (tableau 5.9) (le nombre libre de cette ligne n'est pas pris en compte lors de la prise en compte de cette caractéristique) .

Étape 7 : vérification de l'alternative de la solution.

La solution trouvée est la seule, puisqu'il n'y a pas d'éléments nuls dans la ligne de la fonction objectif (tableau 5.9) (le nombre libre de cette ligne n'est pas pris en compte dans la prise en compte de cette caractéristique).

Réponse: valeur optimale fonction objectif du problème considéré = 24, qui est atteint à.

Exemple 5.2. Résolvez le problème de programmation linéaire ci-dessus à condition que la fonction objectif soit minimisée :

Solution:

je itération:

Étape 1 : formation de la table simplex initiale.

Le problème de programmation linéaire original est donné sous une forme standard. Ramenons-le à sa forme canonique en introduisant une variable non négative supplémentaire dans chacune des contraintes d'inégalité, c'est-à-dire

Dans le système d'équations résultant, nous prenons comme variables (de base) autorisées x3, x4, x5, x6, alors les variables libres seront x1,x2... Exprimons les variables de base en termes de variables libres.

Brève théorie

De nombreuses méthodes différentes ont été proposées pour résoudre les problèmes de programmation linéaire. Cependant, la méthode simplex s'est avérée la plus efficace et la plus universelle d'entre elles. Il convient de noter que pour résoudre certains problèmes, d'autres méthodes peuvent être plus efficaces. Par exemple, dans le cas d'une LPP à deux variables, la méthode optimale est, et dans le cas d'une solution, la méthode des potentiels. La méthode du simplexe est basique et applicable à toute ZPL sous sa forme canonique.

En lien avec le théorème principal de la programmation linéaire, l'idée se pose naturellement de la manière suivante de résoudre le LPP avec un nombre quelconque de variables. Trouvez en quelque sorte tous les points extrêmes du polyèdre de conception (il n'y en a pas plus) et comparez les valeurs de la fonction objectif en eux. Cette façon de résoudre même avec un nombre relativement petit de variables et de contraintes est pratiquement irréalisable, puisque le processus de recherche des points extrêmes est comparable en difficulté avec la solution du problème d'origine ; de plus, le nombre de points extrêmes du polyèdre plan peut s'avérer très grand. En liaison avec ces difficultés, le problème du dénombrement rationnel des points extrêmes s'est posé.

L'essence de la méthode du simplexe est la suivante. Si un point extrême et la valeur de la fonction objectif qu'il contient sont connus, alors tous les points extrêmes auxquels la fonction objectif prend la plus mauvaise valeur sont évidemment inutiles. Par conséquent, il est naturel de s'efforcer de trouver un moyen d'aller d'un point extrême donné à un meilleur adjacent le long d'une arête, de celui-ci à un point encore meilleur (pas pire), etc. Pour ce faire, vous devez disposer d'un signe qu'il n'y a pas de meilleurs points extrêmes que ce point extrême. C'est idée générale la méthode simplex actuellement la plus utilisée (méthode d'amélioration séquentielle du plan) pour la résolution de LPP. Ainsi, en termes algébriques, la méthode du simplexe suppose :

  1. la capacité de retrouver le plan de référence initial ;
  2. la présence d'un signe de l'optimalité du plan de référence ;
  3. la capacité de passer à un plan de base non pauvre.

Un exemple de résolution de problème

La tâche

Pour la vente de trois groupes de marchandises, une entreprise commerciale dispose de trois types de ressources matérielles et monétaires limitées en nombre d'unités. Dans le même temps, pour la vente de 1 groupe de marchandises pour 1 000 roubles. le chiffre d'affaires est dépensé sur la ressource du premier type en nombre d'unités, la ressource du deuxième type en nombre d'unités, la ressource du troisième type en nombre d'unités. Pour la vente de 2 et 3 groupes de marchandises pour 1 000 roubles. le chiffre d'affaires est dépensé, respectivement, la ressource du premier type en quantité, les unités, les ressources du deuxième type en quantité, les unités, les ressources du troisième type en quantité, les unités. Bénéficiez de la vente de trois groupes de marchandises pour 1 000 roubles. le chiffre d'affaires est, respectivement, de mille roubles.

  • Déterminez le volume et la structure du chiffre d'affaires prévus afin que le profit de l'entreprise commerciale soit maximal.
  • Au problème direct de la planification du chiffre d'affaires, résolu par la méthode du simplexe, forment un problème de programmation linéaire double.
  • Établir des paires conjuguées de variables des problèmes directs et duels.
  • Selon les paires conjuguées de variables, à partir de la solution du problème direct, obtenez une solution au problème dual, dans lequel les ressources dépensées pour la vente de biens sont estimées.

Si votre admission à la session dépend de la résolution d'un bloc de problèmes, et que vous n'avez ni le temps ni l'envie de vous asseoir pour les calculs, utilisez les capacités du site. La commande de tâches ne prend que quelques minutes. Vous pouvez lire plus de détails (comment laisser une demande, prix, conditions, modes de paiement) sur la page Acheter la résolution de problèmes de programmation linéaire ...

La solution du problème

Construire le modèle

Par désignent respectivement le chiffre d'affaires des 1er, 2e et troisième types de marchandises.

Alors la fonction objectif exprimant le profit est :

Restrictions sur les ressources matérielles et monétaires :

De plus, au sens du problème

On obtient le problème de programmation linéaire suivant :

Apporter à la forme canonique de ZLP

Portons le problème sous une forme canonique. Pour transformer les inégalités en égalités, nous introduisons des variables supplémentaires. Les variables sont incluses dans les contraintes avec un coefficient de 1. Dans la fonction objectif, nous introduisons toutes les variables supplémentaires avec un coefficient égal à zéro.

La contrainte a une forme préférable si, si le membre de droite est non négatif, côté gauche a une variable entrante avec un coefficient égal à un, et les contraintes d'égalité restantes avec un coefficient égal à zéro. Dans notre cas, les 1ère, 2ème, 3ème contraintes ont une forme préférée avec les variables de base correspondantes.

Solution simplex

On remplit le tableau simplex de la 0ème itération.

PA recto
relation amoureuse
8 6 4 0 0 0 0 520 16 18 9 1 0 0 65/2 0 140 7 7 2 0 1 0 20 0 810 9 2 1 0 0 1 90 0 -8 -6 -4 0 0 0

Puisque nous résolvons le problème maximum, la présence de nombres négatifs dans la ligne d'index lors de la résolution du problème maximum indique que nous n'avons pas obtenu la solution optimale et qu'il faut passer du tableau de la 0ème itération à la suivante.

Le passage à l'itération suivante s'effectue de la manière suivante :

La colonne de tête correspond.

La ligne de clé est déterminée par le ratio minimum de membres libres et de membres de la colonne principale (relations simplex) :

A l'intersection de la colonne clé et de la ligne clé, on trouve l'élément résolvant, soit 7.

Commençons maintenant à compiler la 1ère itération. Au lieu d'un vecteur unitaire, nous introduisons un vecteur.

Dans la nouvelle table, à la place de l'élément de résolution, nous écrivons 1, tous les autres éléments de la colonne clé sont mis à zéro. Les éléments de ligne clés sont subdivisés en élément d'autorisation. Tous les autres éléments du tableau sont calculés selon la règle du rectangle.

On obtient le tableau de la 1ère itération :

PA recto
relation amoureuse
8 6 4 0 0 0 0 200 0 2 31/7 1 -16/7 0 1400/31 8 20 1 1 2/7 0 1/7 0 70 0 630 0 -7 -11/7 0 -9/7 1 - 160 0 2 -12/7 0 8/7 0

Colonne clé pour les correspondances de 1ère itération.

On retrouve la chaîne clé, pour cela on définit :

A l'intersection de la colonne clé et de la ligne clé, on trouve l'élément résolvant, c'est-à-dire 31/7.

Le vecteur est déduit de la base et le vecteur est introduit.

On obtient le tableau de la 2ème itération :

PA recto
relation amoureuse
8 6 4 0 0 0 4 1400/31 0 14/31 1 7/31 -16/31 0 8 220/31 1 27/31 0 -2/31 9/31 0 0 21730/31 0 -195/31 0 11/31 -65/31 1 7360/31 0 86/31 0 12/31 8/31 0

Tous les termes de la ligne d'index sont non négatifs, donc la solution suivante au problème de programmation linéaire est obtenue (nous l'écrivons à partir de la colonne des termes libres) :

Ainsi, il est nécessaire de vendre 7,1 mille roubles. marchandises du 1er type et 45,2 mille roubles. marchandises du 3e type. Il n'est pas rentable de vendre des marchandises du 2e type. Dans ce cas, le bénéfice sera maximal et s'élèvera à 237,4 mille roubles. Avec la mise en place du plan optimal, le reste de la ressource du 3ème type sera de 701 unités.

Le problème du double LP

Écrivons le modèle du problème dual.

Pour construire un problème dual, vous devez utiliser les règles suivantes :

1) si le problème direct est résolu au maximum, alors le problème dual est résolu au minimum, et vice versa ;

2) dans le problème du maximum, les contraintes d'inégalité ont le sens ≤, et dans le problème de minimisation, le sens ≥ ;

3) chaque contrainte du problème direct correspond à une variable du problème dual, et inversement, chaque contrainte du problème dual correspond à une variable du problème direct ;

4) la matrice du système de contraintes du problème dual est obtenue à partir de la matrice du système de contraintes du problème original par transposition ;

5) les termes libres du système de contraintes du problème direct sont les coefficients des variables correspondantes de la fonction objectif du problème dual, et vice versa ;

6) si la condition de non-négativité est imposée à la variable du problème direct, alors la contrainte correspondante du problème dual s'écrit comme une contrainte d'inégalité, sinon, alors comme une contrainte d'égalité ;

7) si une restriction du problème direct s'écrit comme égalité, alors la condition de non-négativité n'est pas imposée à la variable correspondante du problème dual.

On transpose la matrice du problème d'origine :

Portons le problème sous une forme canonique. Introduisons des variables supplémentaires. Nous introduisons toutes les variables supplémentaires dans la fonction objectif avec un coefficient égal à zéro. Nous ajoutons des variables supplémentaires aux côtés gauches des contraintes qui n'ont pas de forme préférée, et nous obtenons des égalités.

Solution du problème dual LP

Correspondance entre les variables du problème original et dual :

Sur la base de la table du simplexe, la solution suivante au problème de programmation linéaire double a été obtenue (nous l'écrivons à partir de la ligne du bas) :

Ainsi, la ressource la plus rare est le premier type. Son estimation est maximale et égale. La ressource du troisième type est excessive - sa double estimation est nulle. Chaque unité de marchandises vendue en plus du 2e groupe réduira le profit optimal de
Une méthode graphique pour résoudre un problème de programmation linéaire (LPP) avec deux variables est considérée. L'exemple du problème montre Description détaillée construire un dessin et trouver une solution.

Solution de problème de transport
Le problème de transport, son modèle mathématique et ses méthodes de résolution sont examinés en détail - trouver le plan de référence par la méthode de l'élément minimum et trouver la solution optimale par la méthode du potentiel.

Prise de décision dans l'incertitude
La solution d'un jeu de matrice statistique dans des conditions d'incertitude utilisant les critères de Wald, Savage, Hurwitz, Laplace, Bayes est considérée. Sur l'exemple de la tâche, la construction d'une matrice de paiement et d'une matrice de risque est montrée en détail.

Il est nécessaire de résoudre un problème de programmation linéaire.

Fonction objectif :

2x 1 + 5x 2 + 3x 3 + 8x 4 → min

Conditions limites :

3x 1 + 6x 2 -4x 3 + x 4 ≤12
4x 1 -13x 2 + 10x 3 + 5x 4 6
3x 1 + 7x 2 + x 3 1

Ramenons le système de restrictions à la forme canonique, pour cela il faut passer des inégalités aux égalités, avec adjonction de variables supplémentaires.

Puisque notre tâche est une tâche de minimisation, nous devons la transformer en une tâche de recherche maximale. Pour ce faire, nous changeons les signes des coefficients de la fonction objectif à l'opposé. Nous écrivons les éléments de la première inégalité inchangés en y ajoutant une variable supplémentaire x 5 et en changeant le signe "≤" en "=". Puisque les deuxième et troisième inégalités ont des signes « ≥ », il est nécessaire de changer les signes de leurs coefficients à l'opposé et d'ajouter des variables supplémentaires x 6 et x 7, respectivement. En conséquence, nous obtenons un problème équivalent :

3x 1 + 6x 2 -4x 3 + x 4 + x 5 = 12
-4x 1 + 13x 2 -10x 3 -5x 4 + x 6 = -6
-3x 1 -7x 2 -x 3 + x 7 = -1

Nous passons à la formation de la table simplex d'origine. La ligne F du tableau contient les coefficients de la fonction objectif avec signe opposé.

Membre gratuit

F
X5
X6
X7

Dans le tableau que nous avons compilé, il y a des éléments négatifs dans la colonne des membres libres, on trouve parmi eux le maximum en valeur absolue - c'est un élément : -6, il fixe la première ligne - X6. Dans cette ligne, on retrouve également l'élément négatif maximum en valeur absolue : -10 c'est dans la colonne X3, qui sera la colonne de tête. La variable de la première ligne est exclue de la base et la variable correspondant à la première colonne est incluse dans la base. Recalculons la table simplex :
X1 X2 X6 X4 Membre gratuit
F 0.8 8.9 0.3 6.5 -1.8
X5 4.6 0.8 -0.4 3 14.4
X3 0.4 -1.3 -0.1 0.5 0.6
X7 -2.6 -8.3 -0.1 0.5 -0.4

Dans le tableau que nous avons compilé, il y a des éléments négatifs dans la colonne des membres libres, on trouve parmi eux le maximum en valeur absolue - c'est un élément : -0,4, il fixe la première ligne - X7. Dans cette ligne, on retrouve également l'élément négatif maximum en valeur absolue : -8,3 c'est dans la colonne X2, qui sera la colonne de tête. La variable de la première ligne est exclue de la base et la variable correspondant à la première colonne est incluse dans la base. Recalculons la table simplex :
X1 X7 X6 X4 Membre gratuit
F -1.988 1.072 0.193 7.036 -2.229
X5 4.349 0.096 -0.41 3.048 14.361
X3 0.807 -0.157 -0.084 0.422 0.663
X2 0.313 -0.12 0.012 -0.06 0.048

Comme il n'y a pas d'éléments négatifs dans la colonne des termes libres, une solution réalisable a été trouvée. La ligne F contient des éléments négatifs, ce qui signifie que la solution obtenue n'est pas optimale. Définissons la colonne de tête. Pour ce faire, on retrouve en ligne F l'élément négatif maximum en valeur absolue - soit -1.988. La ligne de tête sera celle pour laquelle le rapport du membre libre à l'élément correspondant de la colonne de tête est minimal. La ligne principale est X2 et l'élément principal est 0,313.

X2 X7 X6 X4 Membre gratuit
F 6.351 0.31 0.269 6.655 -1.924
X5 -13.895 1.763 -0.577 3.882 13.694
X3 -2.578 0.152 -0.115 0.577 0.539
X1 3.195 -0.383 0.038 -0.192 0.153

Puisqu'il n'y a pas d'éléments négatifs dans la chaîne F, on trouve solution optimale... Puisque le problème initial était de trouver le minimum, la solution optimale sera le terme libre de la chaîne F, pris avec le signe opposé. F = 1,924
avec les valeurs des variables égales : x 3 = 0,539, x 1 = 0,153. Les variables x 2 et x 4 ne sont pas incluses dans la base, donc x 2 = 0 x 4 = 0.

Voici une solution manuelle (pas une applet) de deux problèmes par la méthode simplex (similaire à la solution par une applet) avec des explications détaillées afin de comprendre l'algorithme de résolution de problèmes en utilisant la méthode simplex. Le premier problème ne contient que des signes d'inégalité "≤" (un problème avec une base initiale), le second peut contenir des signes "≥", "≤" ou "=" (un problème avec une base artificielle), ils sont résolus de différentes manières .

Méthode simplex, résolution d'un problème avec une base initiale

1)Méthode simplex pour un problème avec une base initiale (tous les signes d'inégalité-contraintes "≤").

Écrivons la tâche dans canonique forme, c'est-à-dire les contraintes d'inégalité peuvent être réécrites comme des égalités en ajoutant bilan variables :

Ce système est un système à base (base s 1, s 2, s 3, chacun d'eux est inclus dans une seule équation du système de coefficient 1), x 1 et x 2 sont des variables libres. Les problèmes, dans la solution desquels la méthode du simplexe est utilisée, doivent avoir les deux propriétés suivantes : - le système de contraintes doit être un système d'équations avec une base ; - les termes libres de toutes les équations du système doivent être non négatifs.

Le système résultant est un système avec une base et ses termes libres sont non négatifs ; par conséquent, nous pouvons appliquer méthode du simplexe... Composons la première table du simplexe (Itération 0) pour résoudre le problème sur méthode du simplexe, c'est à dire. un tableau des coefficients de la fonction objectif et un système d'équations pour les variables correspondantes. Ici "BP" signifie la colonne des variables de base, "Solution" - la colonne des membres de droite des équations du système. La solution n'est pas optimale car il y a des coefficients négatifs dans la ligne z.

itération de méthode simplex 0

Attitude

Pour améliorer la solution, passons à l'itération suivante méthode du simplexe, on obtient le tableau du simplexe suivant. Pour ce faire, vous devez choisir colonne permissive, c'est à dire. une variable qui sera incluse dans la base à la prochaine itération de la méthode du simplexe. Il est sélectionné par le plus grand coefficient modulo négatif dans la ligne z (dans le problème maximum) - dans l'itération initiale de la méthode simplex, il s'agit de la colonne x 2 (coefficient -6).

Est alors sélectionné chaîne permissive, c'est à dire. la variable qui sortira de la base à la prochaine itération de la méthode du simplexe. Il est sélectionné par le plus petit rapport de la colonne "Décision" aux éléments positifs correspondants de la colonne de résolution (la colonne "Ratio") - dans l'itération initiale, il s'agit de la ligne s 3 (coefficient 20).

Élément permissif est situé à l'intersection de la colonne de résolution et de la ligne de résolution, sa cellule est mise en évidence, elle est égale à 1. Par conséquent, à la prochaine itération de la méthode simplexe, la variable x 2 remplacera s 1 dans la base. Notez que la relation n'est pas recherchée dans la ligne z ; un tiret "-" y est mis. S'il y a les mêmes relations minimales, alors n'importe laquelle d'entre elles est choisie. Si tous les coefficients de la colonne de résolution sont inférieurs ou égaux à 0, alors la solution du problème est infinie.

Complétons le tableau suivant "Itération 1". Nous l'obtiendrons à partir de la table "Itération 0". Le but des transformations ultérieures est de transformer la colonne de résolution x 2 en une (avec un au lieu de l'élément de résolution et des zéros au lieu des autres éléments).

1) Calcul de la ligne x 2 du tableau "Itération 1". Tout d'abord, on divise tous les membres de la ligne résolvante s 3 de la table "Itération 0" par l'élément résolvant (il est égal à 1 dans ce cas) de cette table, on obtient la ligne x 2 dans la table Itération 1. Parce que l'élément de résolution dans ce cas est égal à 1, alors la ligne s 3 du tableau "Itération 0" coïncidera avec la ligne x 2 du tableau "Itération 1". Nous avons la ligne x 2 du tableau "Itération 1" 0 1 0 0 1 20, le reste des lignes du tableau "Itération 1" sera obtenu à partir de cette ligne et des lignes du tableau "Itération 0" comme suit :

2) Calcul de la ligne z de la table "Itération 1". Au lieu de -6 dans la première ligne (ligne z) de la colonne x 2 du tableau Itération 0, il devrait y avoir 0 dans la première ligne du tableau Itération 1. Pour ce faire, on multiplie tous les éléments de la ligne x 2 du tableau "Itération 1" 0 1 0 0 1 20 par 6, on obtient 0 6 0 0 6 120 et on additionne cette ligne avec la première ligne (z - ligne) de le tableau "Itération 0" -4 -6 0 0 0 0, on obtient -4 0 0 0 6 120. Dans la colonne x 2, zéro 0 apparaît, l'objectif est atteint. Les éléments de colonne de résolution x 2 sont surlignés en rouge.

3) Calcul de la ligne s 1 du tableau "Itération 1". A la place 1 dans la ligne 1 de la table "Itération 0", il doit y avoir 0 dans la table "Itération 1". Pour ce faire, on multiplie tous les éléments de la ligne x 2 du tableau "Itération 1" 0 1 0 0 1 20 par -1, on obtient 0 -1 0 0 -1 -20 et on ajoute cette ligne avec s 1 - le ligne du tableau "Itération 0" 2 1 1 0 0 64, nous obtenons la ligne 2 0 1 0 -1 44. Dans la colonne x 2 nous obtenons le 0 requis.

4) Calcul de la ligne s 2 du tableau "Itération 1". A la place 3 de la ligne s 2 de la table "Itération 0", il doit y avoir 0 dans la table "Itération 1". Pour ce faire, on multiplie tous les éléments de la ligne x 2 du tableau "Itération 1" 0 1 0 0 1 20 par -3, on obtient 0 -3 0 0 -3 -60 et on ajoute cette ligne avec s 1 - le ligne du tableau "Itération 0" 1 3 0 1 0 72, nous obtenons la ligne 1 0 0 1 -3 12. Dans la colonne x 2, on obtient le 0 requis. La colonne x 2 dans le tableau "Itération 1" est devenue une , il contient un 1 et le reste 0.

Les lignes du tableau « Itération 1 » sont obtenues selon la règle suivante :

Nouvelle ligne = Ancienne ligne - (Facteur de colonne de résolution de l'ancienne ligne) * (Nouvelle ligne de résolution).

Par exemple, pour la ligne z nous avons :

Ancienne ligne z (-4 -6 0 0 0 0) - (- 6) * Nouvelle ligne de résolution - (0 -6 0 0 -6 -120) = Nouvelle ligne z (-4 0 0 0 6 120).

Pour les tableaux suivants, le recalcul des éléments du tableau se fait de la même manière, nous l'omettons donc.

méthode simplex itération 1

Attitude

En admettant la colonne x 1, en résolvant la ligne s 2, s 2 quitte la base, x 1 entre dans la base. Exactement de la même manière, nous obtenons le reste des tables du simplexe jusqu'à ce que nous obtenions une table avec tous les coefficients positifs dans la ligne z. C'est le signe d'une table optimale.

méthode simplex itération 2

Attitude

La colonne de résolution s 3, la ligne de résolution s 1, s 1 sort de la base, s 3 entre dans la base.

méthode simplex itération 3

Attitude

Dans la ligne z, tous les coefficients sont non négatifs, par conséquent, la solution optimale est x 1 = 24, x 2 = 16, z max = 192.

11.4. MÉTHODE DOUBLE SIMPLEX

Des résultats des paragraphes précédents, il s'ensuit que pour obtenir une solution au problème d'origine, on peut aller au dual et, à l'aide d'estimations de son plan optimal, déterminer la solution optimale au problème d'origine.

Le passage au problème dual n'est pas nécessaire, car si l'on considère le premier tableau du simplexe avec une base unitaire supplémentaire, alors il est facile de voir que le problème original est écrit dans les colonnes, et le dual dans les lignes.

Comme cela a été montré, lors de la résolution du problème direct à n'importe quelle itération, la différence, c'est à dire. ordre de grandeur - coefficient à variable, est égal à la différence entre les côtés droit et gauche de la contrainte correspondante du problème dual. Si, lors de la résolution d'un problème direct avec une fonction objectif maximisée, l'itération ne conduit pas à une solution optimale, alors pour au moins une variable et seulement à l'optimum pour toutes différence.

Considérant cette condition avec la dualité prise en compte, on peut écrire

.

Donc si, alors . Cela signifie que lorsque la solution au problème direct est sous-optimale, la solution au problème double est inacceptable. D'un autre côté à . Il s'ensuit que la solution optimale du problème direct correspond à une solution admissible du problème dual.

Cela a permis de développer une nouvelle méthode de résolution des problèmes de programmation linéaire, lors de l'utilisation de laquelle on obtient d'abord une solution inacceptable, mais "meilleure qu'optimale" (dans la méthode du simplexe habituelle, on trouve d'abord permis, mais sous-optimal Solution). Nouvelle méthode nommé méthode double simplex, assure la réalisation de la condition d'optimalité de la solution et son « approximation » systématique à la région des solutions réalisables. Lorsque la solution obtenue s'avère admissible, le processus itératif de calculs se termine, puisque cette solution est également optimale.

La méthode du simplexe dual permet de résoudre des problèmes de programmation linéaire, dont les systèmes de contraintes, avec une base positive, contiennent des termes libres de tout signe. Cette méthode réduit le nombre de transformations du système de contraintes ainsi que la taille de la table du simplexe. Considérons l'application de la méthode du double simplex à l'aide d'un exemple.

Exemple... Trouver le minimum d'une fonction

avec restrictions

.

Passons à la forme canonique :

avec restrictions

Le tableau simplex initial est

De base

variables

X 1

X 2

X 3

X 4

X 5

Solution

X 3

X 4

X 5

–3

–4

–1

–3

–3

–6

–2

–1

Solution de base initialeoptimale, mais pas acceptable.

Comme la méthode du simplexe habituelle, la méthode de résolution considérée est basée sur l'utilisation de conditions d'admissibilité et d'optimalité.

Condition de recevabilité... La plus grande variable est choisie comme variable exclue. valeur absolue variable de base négative (en présence d'alternatives, le choix est fait arbitrairement). Si toutes les variables de base sont non négatives, le processus de calcul se termine, car la solution obtenue est réalisable et optimale.

État optimalité... La variable incluse dans la base est choisie parmi les variables hors base comme suit. Les rapports des coefficients du côté gauche sont calculés-les équations aux coefficients correspondants de l'équation associée à la variable exclue. Relation positive ou valeur zéro les dénominateurs sont ignorés. Dans le problème de minimisation de la variable introduite, le plus petit des rapports indiqués doit correspondre, et dans le problème de maximisation, le rapport du plus petit en valeur absolue (en présence d'alternatives, le choix est fait arbitrairement). Si les dénominateurs de tous les rapports sont nuls ou positifs, le problème n'a pas de solutions réalisables.

Après avoir choisi les variables à inclure dans la base et à exclure pour obtenir la solution suivante, l'opération habituelle de transformation des lignes d'un tableau simplex est effectuée.

Dans cet exemple, la variable exclue est... Les ratios calculés pour déterminer la nouvelle variable de base sont indiqués dans le tableau suivant :

Variables

X 1

X 2

X 3

X 4

X 5

L'équation

X 4 -équation

–2

–4

–1

–3

Attitude

La variable incluse est sélectionnée X 2. La conversion de chaîne suivante donne une nouvelle table simplex :

De base

variables

X 1

X 2

X 3

X 4

X 5

Solution

X 3

X 2

X 5

–1

–1

Nouvelle solution également optimale, mais toujours pas valide. En tant que nouvelle variable exclue, choisissez (facultatif) X 3. Définissons la variable incluse.

Variables

X 1

X 2

X 3

X 4

X 5

L'équation

X 4 -équation

attitude



 


Lire:



Détermination du sexe de l'enfant par le rythme cardiaque

Détermination du sexe de l'enfant par le rythme cardiaque

C'est toujours excitant. Pour toutes les femmes, cela évoque une variété d'émotions et d'expériences, mais aucune d'entre nous ne perçoit la situation de sang-froid et ...

Comment faire un régime pour un enfant atteint de gastrite: recommandations générales

Comment faire un régime pour un enfant atteint de gastrite: recommandations générales

Pour que le traitement de la gastrite soit efficace et réussi, l'enfant doit être correctement nourri. Les recommandations des gastro-entérologues aideront ...

Quelle est la bonne façon de se comporter avec un mec pour qu'il tombe amoureux ?

Quelle est la bonne façon de se comporter avec un mec pour qu'il tombe amoureux ?

Mentionnez un ami commun. Mentionner un ami commun dans une conversation peut vous aider à créer un lien personnel avec le gars, même si vous n'êtes pas très doué...

Bogatyrs de la terre russe - liste, histoire et faits intéressants

Bogatyrs de la terre russe - liste, histoire et faits intéressants

Il n'y a probablement aucune telle personne en Russie qui n'aurait pas entendu parler des héros. Les héros qui nous sont venus des anciennes chansons-légendes russes - épopées, ont toujours été ...

image de flux RSS