Maison - Sols
Résoudre le problème 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 en utilisant la méthode du simplexe :

Solution:

je itération:

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

Réduisons la fonction objectif à la forme suivante :

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

Tableau 5.3

Table simplex originale

Relations évaluatives

D'après 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 restrictions PAP.

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

A cette itération (dans le tableau 5.3), le signe d'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 (sauf pour la colonne des nombres libres ) dans lequel il n'y aurait pas au moins un élément positif) .

Puisque la solution de base trouvée ne contient pas de composants négatifs, elle est admissible.

Étape 6 : contrôle d'optimalité.

La solution de base trouvée n'est pas optimale, puisque selon le critère d'optimalité (signe 4) il ne devrait y avoir aucun élément négatif dans la ligne de la fonction objectif (le nombre libre de cette ligne n'est pas pris en compte lors de la prise en compte de ce critère). Par conséquent, selon l'algorithme de la méthode simplexe, nous passons à l'étape 8.

La solution de base trouvée étant admissible, nous rechercherons la colonne de résolution selon le schéma suivant : nous déterminons les colonnes avec des éléments négatifs dans la ligne de la fonction objectif (sauf la colonne des nombres libres). D'après 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 cible est sélectionnée. Elle sera la plus permissive. Colonne " x2" contient le plus petit élément (–3) par rapport à la colonne " x1

Pour déterminer la ligne de résolution, on trouve les rapports estimés positifs des nombres libres aux éléments de la colonne de résolution ; la ligne qui correspond au plus petit rapport d'évaluation positif est acceptée comme résolue.

Tableau 5.4

Table simplex originale

Dans le tableau 5.4, la plus petite relation évaluative positive correspond à la ligne « x5", ce sera donc permissif.

L'élément situé à l'intersection de la colonne d'habilitation et de la ligne d'habilitation est accepté comme habilitant. Dans notre exemple, il s’agit de l’élément qui se situe à l’intersection de la ligne « x5" et colonnes " x2».

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

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

L'élément de résolution du tableau 5.4 est converti comme suit :

Nous entrons le résultat résultant dans une cellule similaire du tableau 5.5.

9.2. Conversion de chaîne de résolution.

Nous divisons les éléments de la ligne résolvante du tableau 5.4 par l'élément résolvant de ce tableau simplex, les résultats s'inscrivent dans des cellules similaires du nouveau tableau simplex (tableau 5.5). Les transformations des éléments de chaîne de résolution sont données dans le tableau 5.5.

9.3. Conversion de la colonne de résolution.

On divise les éléments de la colonne de résolution du tableau 5.4 par l'élément de résolution de ce tableau simplex, et le résultat est pris avec le signe opposé. Les résultats obtenus s'inscrivent dans des cellules similaires du nouveau tableau simplex (tableau 5.5). Les transformations des éléments de la colonne de résolution sont données dans le tableau 5.5.

9.4. Transformation des éléments restants de la table simplex.

La transformation des éléments restants du tableau simplex (c'est-à-dire les é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, pensez à transformer un élément situé à l'intersection de la ligne " x3" et les colonnes "", nous le désignerons conditionnellement " x3" Dans le tableau 5.4, on dessine mentalement un rectangle dont un sommet est situé dans la cellule dont on transforme la valeur (c'est-à-dire dans la cellule « x3"), et l'autre (sommet diagonal) se trouve dans une cellule avec un élément résolvant. Les deux autres sommets (de 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 dont le dénominateur est l'élément résolvant (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 converties de la même manière :

« x3x1»: ;

« x4»: ;

« x4 x1»: ;

« x6»: ;

« x6x1»: ;

«»: ;

« 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 simplexe.

Tableau 5.5

Tableau simplexeII itérations

Estimé

relation

Étape 2 : détermination de la solution basique.

À la suite des transformations simplexes, une nouvelle solution basique a été obtenue (tableau 5.5) :

Comme vous pouvez le constater, avec cette solution de base, la valeur de la fonction objectif = 15, ce qui est supérieure à celle de la solution de base précédente.

L'incohérence du système de restrictions conformément à la caractéristique 1 du tableau 5.5 n'a pas été identifiée.

Étape 4 : vérifier le caractère limité de la fonction objectif.

Le caractère illimité de la fonction objectif conformément au critère 2 du tableau 5.5 n'est pas révélé.

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

La solution de base trouvée selon le critère 4 n'est pas optimale, puisque la ligne de la fonction objectif du tableau simplexe (tableau 5.5) contient un élément négatif : –2 (le nombre libre de cette ligne n'est pas pris en compte lors de la prise en compte de ce caractéristiques). Nous passons 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 acceptable ; on détermine les colonnes avec des éléments négatifs dans la ligne de la fonction objectif (sauf la colonne des nombres libres). D'après le tableau 5.5, il n'existe qu'une seule colonne de ce type : « x1" Par conséquent, nous l’acceptons comme autorisé.

8.2. Définition d'une chaîne d'activation.

D'après les valeurs obtenues de relations évaluatives positives dans le tableau 5.6, le minimum est la relation correspondant à la droite « x3" Par conséquent, nous l’acceptons comme autorisé.

Tableau 5.6

Tableau simplexeII itérations

Estimé

relation

3/1=3 – min

Étape 9 : transformation de la table simplexe.

Les transformations du tableau simplexe (tableau 5.6) sont effectuées de la même manière que lors de l'itération précédente. Les résultats des transformations des éléments du tableau simplex sont donné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 compilons un nouveau tableau simplex :

Tableau 5.7

Tableau simplexeIII itérations

Estimé

relation

Étape 2 : détermination de la solution basique.

À la suite des transformations simplexes, une nouvelle solution basique a été obtenue (tableau 5.7) :

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

L'incohérence du système de restrictions conformément à la caractéristique 1 du tableau 5.7 n'a pas été identifiée.

Étape 4 : vérifier le caractère limité de la fonction objectif.

Le caractère illimité de la fonction objectif conformément au critère 2 du tableau 5.7 n'est pas révélé.

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

La solution basique trouvée selon le critère 3 est acceptable car elle ne contient pas de composants négatifs.

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

La solution de base trouvée selon le critère 4 n'est pas optimale, puisque la ligne de la fonction objectif du tableau simplexe (tableau 5.7) contient un élément négatif : –3 (le nombre libre de cette ligne n'est pas pris en compte lors de la prise en compte de ce caractéristiques). Nous passons 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 acceptable ; on détermine les colonnes avec des éléments négatifs dans la ligne de la fonction objectif (sauf la colonne des nombres libres). D'après le tableau 5.7, il n'existe qu'une seule colonne de ce type : « x5" Par conséquent, nous l’acceptons comme autorisé.

8.2. Définition d'une chaîne d'activation.

D'après les valeurs obtenues de relations évaluatives positives dans le tableau 5.8, le minimum est la relation correspondant à la droite « x4" Par conséquent, nous l’acceptons comme autorisé.

Tableau 5.8

Tableau simplexeIII itérations

Estimé

relation

5/5=1 – minute

Étape 9 : transformation de la table simplexe.

Les transformations du tableau simplexe (tableau 5.8) sont effectuées de la même manière que lors de l'itération précédente. Les résultats des transformations des éléments du tableau simplexe sont donné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 compilons un nouveau tableau simplex :

Tableau 5.9

Tableau simplexeIV itérations

Estimé

relation

–(–3/5)=3/5

–(1/5)=–1/5

–(9/5)=–9/5

–(–3/5)=3/5

Étape 2 : détermination de la solution basique.

À la suite des transformations simplexes, une nouvelle solution basique a été obtenue selon le tableau 5.9, la solution est la suivante :

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

L'incohérence du système de restrictions conformément à la caractéristique 1 du tableau 5.9 n'a pas été identifiée.

Étape 4 : vérifier le caractère limité de la fonction objectif.

Le caractère illimité de la fonction objectif conformément au critère 2 du tableau 5.9 n'est pas révélé.

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

La solution basique trouvée selon le critère 3 est acceptable car elle ne contient pas de composants négatifs.

Étape 6 : vérifier 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 du tableau simplexe (tableau 5.9) (le nombre libre de cette ligne n'est pas pris en compte lors de la prise en compte de cette fonctionnalité) .

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

La solution trouvée est unique, 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 lors de la prise en compte de cette fonctionnalité).

Répondre: valeur optimale fonction objective 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 forme standard. Portons-le sous forme canonique en introduisant une variable supplémentaire non négative 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 des problèmes de programmation linéaire. Cependant, la méthode simplex s'est avérée être 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, pour un ZLP à deux variables, la méthode optimale est , et pour la résoudre, la méthode potentielle est utilisée. La méthode simplexe est basique et applicable à tout PPL sous forme canonique.

En relation 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 LLP avec un nombre quelconque de variables. Trouvez en quelque sorte tous les points extrêmes du polyèdre des plans (il n'y en a pas plus de ) et comparez-y les valeurs de la fonction objectif. Une telle solution, même avec un nombre relativement petit de variables et de restrictions, est pratiquement impossible, car le processus de recherche de points extrêmes est comparable en difficulté à la résolution du problème initial, et de plus, le nombre de points extrêmes du polyèdre des plans peut s'avèrent être très grands. En lien avec ces difficultés, le problème de l'énumération rationnelle des points extrêmes s'est posé.

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

  1. la capacité de trouver un premier plan de référence ;
  2. présence d'un signe d'optimalité du plan de référence ;
  3. la possibilité de passer à un plan de référence qui n'est pas le pire.

Exemple de solution de problème

Condition problématique

Pour vendre trois groupes de biens, une entreprise commerciale dispose de trois types de ressources matérielles et monétaires limitées d'un montant de , , , unités. Dans le même temps, pour la vente d'un groupe de marchandises pour 1 000 roubles. le chiffre d'affaires des marchandises consomme 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 des marchandises est dépensé en fonction de la ressource du premier type d'un montant de , unités, des ressources du deuxième type d'un montant de , unités, des ressources du troisième type d'un montant de , unités. Bénéficiez de la vente de trois groupes de produits pour 1 000 roubles. le chiffre d'affaires est respectivement de mille roubles.

  • Déterminez le volume et la structure prévus du chiffre d'affaires commercial afin que le profit de l'entreprise commerciale soit maximisé.
  • Pour le problème direct de la planification du chiffre d'affaires, résolu par la méthode du simplexe, créez un problème de programmation double linéaire.
  • Établir des paires conjuguées de variables des problèmes directs et duaux.
  • Selon des paires conjuguées de variables, à partir de la solution du problème direct, on obtient une solution au problème double, dans laquelle sont estimées les ressources consacrées à la vente de biens.

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 des calculs, utilisez les capacités du site. La commande de tâches ne prend que quelques minutes. Vous pouvez lire en détail (comment soumettre une demande, prix, conditions, modes de paiement) sur la page Acheter des solutions aux problèmes de programmation linéaire...

Solution du problème

Construction de maquettes

Désignons respectivement le chiffre d'affaires des 1er, 2e et troisième types de biens.

Puis la fonction objectif exprimant le profit perçu :

Limitations des ressources matérielles et monétaires :

De plus, selon le sens de la tâche

Nous obtenons le problème de programmation linéaire suivant :

Réduction à la forme canonique du ZLP

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

La restriction a une forme préférable si, si le membre de droite est non négatif côté gauche a une variable incluse 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 restrictions ont une forme préférée avec les variables de base correspondantes.

Solution utilisant la méthode simplexe

Nous remplissons le tableau simplex de la 0ème itération.

PA Simplexe
relation
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 au maximum, la présence de nombres négatifs dans la ligne d'index lors de la résolution du problème au maximum indique que nous n'avons pas obtenu la solution optimale et qu'il faut passer du tableau de la 0ème itération à le suivant.

On passe à l'itération suivante comme suit :

La première colonne correspond à .

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

A l'intersection de la colonne clé et de la ligne clé, nous trouvons l'élément d'activation, c'est-à-dire 7.

Nous commençons maintenant à compiler la 1ère itération. Au lieu du vecteur unitaire, nous introduisons le vecteur .

Dans le nouveau tableau, à la place de l'élément d'activation, nous écrivons 1, tous les autres éléments de la colonne clé sont des zéros. Les éléments de chaîne clé sont divisés en éléments d'activation. Tous les autres éléments du tableau sont calculés à l'aide de la règle du rectangle.

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

PA Simplexe
relation
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

La colonne clé de la 1ère itération correspond à .

On retrouve la ligne clé, pour cela on définit :

A l'intersection de la colonne clé et de la ligne clé, nous trouvons l'élément d'activation, c'est-à-dire 31/7.

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

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

PA Simplexe
relation
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

Dans la ligne d'index, tous les termes 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 faut vendre 7,1 mille roubles. marchandises du 1er type et 45,2 mille roubles. marchandises du 3ème type. Il n'est pas rentable de vendre un produit du 2ème type. Dans ce cas, le bénéfice sera maximum et s'élèvera à 237,4 mille roubles. Si le plan optimal est mis en œuvre, la ressource restante du 3ème type sera de 701 unités.

Problème de double LP

Écrivons un modèle du double problème.

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 la signification ≤, et dans le problème de minimisation elles ont la signification ≥ ;

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 restrictions du problème dual est obtenue à partir de la matrice du système de restrictions 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 une 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 contrainte du problème direct s'écrit sous forme d'é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 original :

Réduisons le problème à la 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 restrictions qui n'ont pas de forme préférée, et nous obtenons des égalités.

Solution du problème du double LP

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

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

Ainsi, la ressource du premier type est la plus rare. Son score est maximum et égal à . La ressource du troisième type est redondante - sa double valeur est nulle. Chaque unité supplémentaire de biens du 2ème groupe vendue 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. Un exemple de la tâche est donné description détaillée construire un dessin et trouver une solution.

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

Prise de décision dans des conditions d’incertitude
La solution d'un jeu matriciel statistique dans des conditions d'incertitude est considérée à l'aide des critères de Wald, Savage, Hurwitz, Laplace et Bayes. À l'aide d'un exemple de problème, la construction d'une matrice de paiement et d'une matrice de risque est présentée en détail.

Il faut 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

Portons le système de restrictions à une forme canonique ; pour cela il faut passer des inégalités aux égalités, avec l'ajout de variables supplémentaires.

Puisque notre problème est un problème de minimisation, nous devons le transformer en un problème de recherche maximale. Pour ce faire, on change les signes des coefficients de la fonction objectif par les signes opposés. Nous écrivons les éléments de la première inégalité inchangés, en ajoutant une variable supplémentaire x 5 et en changeant le signe « ≤ » en « = ». Étant donné que les deuxième et troisième inégalités ont des signes « ≥ », il est nécessaire de changer les signes de leurs coefficients par des signes opposés et d'y introduire 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

On procède à la formation de la table simplexe initiale. 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 termes libres, parmi eux nous trouvons le maximum en module - c'est l'élément : -6, il définit la première ligne - X6. Dans cette ligne on retrouve également l'élément négatif maximum en module : -10 il se situe 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 simplexe :
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 termes libres, parmi eux nous trouvons le maximum en module - c'est l'élément : -0,4, il définit la première ligne - X7. Dans cette ligne on retrouve également l'élément négatif maximum en module : -8,3 il se situe 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 simplexe :
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

Puisqu’il n’y a pas d’éléments négatifs dans la colonne des termes libres, une solution admissible a été trouvée. La ligne F contient des éléments négatifs, ce qui signifie que la solution résultante n’est pas optimale. Définissons la colonne principale. Pour ce faire, on retrouvera dans la ligne F l'élément négatif avec le module maximum - soit -1,988. La première ligne sera celle pour laquelle le rapport du terme libre à l'élément correspondant de la première colonne est minimal. La première ligne 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 aucun élément négatif dans la chaîne F, nous avons trouvé solution optimale. Puisque la tâche initiale é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 des valeurs 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 (et non applet) de deux problèmes utilisant la méthode simplex (similaire à la solution applet) avec des explications détaillées afin de comprendre l'algorithme de résolution de problèmes utilisant la méthode simplex. Le premier problème ne contient que des signes d'inégalité « ≤ » (problème avec une base initiale), le second peut contenir des signes « ≥ », « ≤ » ou « = » (problème avec une base artificielle), ils sont résolus différemment.

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

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

Écrivons le problème dans canonique forme, c'est-à-dire nous réécrivons les restrictions d'inégalité sous forme d'égalités, en ajoutant bilan variables :

Ce système est un système avec une base (base s 1, s 2, s 3, chacun d'eux n'est inclus que dans une seule équation du système à coefficient 1), x 1 et x 2 sont des variables libres. Les problèmes à résoudre par la méthode du simplexe 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, nous pouvons donc appliquer méthode simplexe. Créons la première table simplexe (itération 0) pour résoudre le problème sur méthode simplexe, c'est-à-dire un tableau des coefficients de la fonction objectif et un système d'équations pour les variables correspondantes. Ici « BP » désigne la colonne des variables de base, « Solution » désigne 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 la méthode simplexe 0

Attitude

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

Sélectionnez ensuite activer la chaîne, c'est-à-dire une variable qui quittera la base à la prochaine itération de la méthode 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 (colonne « Rapport ») - dans l'itération initiale, il s'agit de la ligne s 3 (coefficient 20).

Élément permissif est à l'intersection de la colonne de résolution et de la ligne de résolution, sa cellule est surlignée en couleur, elle est égale à 1. Ainsi, à 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 chaîne z ; un tiret « - » y est placé. S'il existe des relations minimales identiques, alors l'une d'entre elles est sélectionnée. Si tous les coefficients de la colonne résolution sont inférieurs ou égaux à 0, alors la solution du problème est infinie.

Remplissons le tableau suivant « Itération 1 ». Nous l'obtiendrons à partir du tableau « Itération 0 ». Le but des transformations ultérieures est de transformer la colonne de résolution x2 en une colonne unitaire (avec un un à la place de l'élément de résolution et des zéros à la place des éléments restants).

1) Calculez la ligne x 2 du tableau « Itération 1 ». Tout d'abord, on divise tous les membres de la ligne résolvante s 3 du tableau « Itération 0 » par l'élément résolvant (il est égal à 1 dans ce cas) de ce tableau, on obtient la ligne x 2 dans le tableau « Itération 1 » . Parce que l'élément résolvant 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 ». Ligne x 2 du tableau Itération 1, nous avons obtenu 0 1 0 0 1 20, les lignes restantes du tableau Itération 1 seront obtenues à partir de cette ligne et des lignes du tableau Itération 0 comme suit :

2) Calcul de la ligne z du tableau « Itération 1 ». Au lieu de -6 dans la première ligne (ligne z) de la colonne x2 du tableau Itération 0, il devrait y avoir un 0 dans la première ligne du tableau Itération 1. Pour cela, multipliez tous les éléments de la ligne x 2 du tableau "Itération 1" 0 1 0 0 1 20 par 6, obtenez 0 6 0 0 6 120 et ajoutez cette ligne avec la première ligne (z - ligne) du tableau "Itération 0" -4 -6 0 0 0 0, on obtient -4 0 0 0 6 120. Un zéro 0 apparaît dans la colonne x 2, l'objectif est atteint. Les éléments de la colonne de résolution x 2 sont surlignés en rouge.

3) Calcul de la ligne s 1 du tableau « Itération 1 ». Au lieu de 1 sur s 1 ligne du tableau « Itération 0 », il devrait y avoir un 0 dans le tableau « Itération 1 ». Pour cela, multipliez tous les éléments de la ligne x 2 du tableau "Itération 1" 0 1 0 0 1 20 par -1, obtenez 0 -1 0 0 -1 -20 et ajoutez cette ligne avec s 1 - 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) Calculez la ligne s 2 du tableau « Itération 1 ». A la place 3 dans la ligne s 2 du tableau "Itération 0", il devrait y avoir 0 dans le tableau "Itération 1". Pour ce faire, multipliez tous les éléments de la ligne x 2 du tableau « Itération 1 » 0 1 0 0 1 20 par -3, obtenez 0 -3 0 0 -3 -60 et ajoutez cette ligne avec s 1 - 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, le 0 requis est obtenu. La colonne x 2 du tableau « Itération 1 » est devenue une unité. , 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 – (Coefficient de colonne de résolution de l’ancienne ligne)* (Nouvelle ligne de résolution).

Par exemple, pour une z-string nous avons :

Ancienne chaîne z (-4 -6 0 0 0 0) -(-6)*Nouvelle chaîne de résolution -(0 -6 0 0 -6 -120) =Nouvelle chaîne 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 simplexe itération 1

Attitude

En résolvant 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 les tableaux simplex restants jusqu'à obtenir un tableau avec tous les coefficients positifs dans la ligne z. C'est le signe d'une table optimale.

méthode simplexe itération 2

Attitude

En résolvant la colonne s 3, en résolvant la ligne s 1, s 1 quitte la base, s 3 entre dans la base.

méthode simplexe itération 3

Attitude

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

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 passer au problème 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 simplexe avec une base supplémentaire unitaire, il est facile de remarquer que le problème original est écrit dans les colonnes, et le dual est écrit dans les lignes.

Comme nous l’avons montré, lors de la résolution d’un problème direct à n’importe quelle itération, la différence, c'est-à-dire ampleur -coefficient de la 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 au moins pour une variable et seulement à l'optimum pour toutes différence .

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

.

Ainsi, si, Que . Cela signifie que lorsque la solution au problème direct est sous-optimale, la solution au problème double n’est pas réalisable. De l'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 de problèmes de programmation linéaire, qui produit d'abord une solution inacceptable, mais « meilleure qu'optimale » (dans la méthode simplexe habituelle, on trouve d'abord acceptable, Mais sous-optimal solution). Nouvelle méthode, appelé méthode double simplexe, assure la réalisation des conditions d'optimalité de la solution et son « rapprochement » systématique de la région des solutions réalisables. Lorsque la solution résultante s’avère réalisable, le processus itératif de calcul se termine, puisque cette solution est également optimale.

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

Exemple. Trouver le minimum d'une fonction

sous restrictions

.

Passons à la forme canonique :

sous restrictions

Le tableau simplexe initial a la forme

Basique

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 simplex 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 variable la plus grande est sélectionnée comme variable exclue. valeur absolue variable de base négative (s'il existe des alternatives, le choix est fait arbitrairement). Si toutes les variables de base sont non négatives, le processus de calcul se termine puisque la solution résultante est réalisable et optimale.

Condition optimalité. La variable incluse dans la base est sélectionnée parmi les variables non fondamentales comme suit. Les rapports des coefficients du côté gauche sont calculés-équations aux coefficients correspondants de l'équation associée à la variable exclue. Relations avec des personnes positives ou valeur nulle les dénominateurs ne sont pas pris en compte. Dans le problème de minimisation, la variable d'entrée doit correspondre au plus petit des rapports spécifiés, et dans le problème de maximisation, au rapport qui est le plus petit en valeur absolue (s'il existe des alternatives, le choix est fait arbitrairement). Si les dénominateurs de tous les ratios sont nuls ou positifs, le problème n’a pas de solution réalisable.

Après avoir sélectionné les variables à inclure dans la base et à exclure, pour obtenir la solution suivante, on effectue l'opération habituelle de conversion des lignes d'un tableau simplex.

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

Variables

x 1

x 2

x 3

x 4

x 5

Équation

x 4 - équation

–2

–4

–1

–3

Attitude

La variable incluse est sélectionnée x 2. La conversion de chaîne ultérieure aboutit à une nouvelle table simplex :

Basique

variables

x 1

x 2

x 3

x 4

x 5

Solution

x 3

x 2

x 5

–1

–1

Nouvelle solution également optimal, mais toujours inacceptable. Comme nouvelle variable exclue, nous choisissons (arbitrairement) x 3. Définissons la variable à inclure.

Variables

x 1

x 2

x 3

x 4

x 5

Équation

x 4 - équation

attitude



 


Lire:



La malocclusion et l'armée La malocclusion n'est pas acceptée dans l'armée

La malocclusion et l'armée La malocclusion n'est pas acceptée dans l'armée

Personne ne niera qu’à notre époque, le service militaire a perdu son sens civique et patriotique, et n’est devenu qu’une source de danger…

Sous quels signes du zodiaque sont nées les personnes nées en avril ?

Sous quels signes du zodiaque sont nées les personnes nées en avril ?

En astrologie, il est d'usage de diviser l'année en douze périodes, chacune ayant son propre signe du zodiaque. Selon l'heure de naissance,...

Pourquoi rêvez-vous d'une tempête sur les vagues de la mer ?

Pourquoi rêvez-vous d'une tempête sur les vagues de la mer ?

Miller's Dream Book Pourquoi rêvez-vous de Storm dans un rêve ?

Comptabilisation des règlements avec le budget

Comptabilisation des règlements avec le budget

Le compte 68 en comptabilité sert à collecter des informations sur les paiements obligatoires au budget, déduits à la fois aux frais de l'entreprise et...

image de flux RSS