[PYTHON] Un exemple très simple de problème d'optimisation avec ortoolpy

Ce que j'ai fait

Quand je lisais "100 Knocking Python Practical Data Analysis", je suis tombé sur un problème d'optimisation utilisant ortoolpy et pulp. C'était un module que je n'avais jamais utilisé, alors j'ai fait un exemple simple pour ma propre compréhension.

Voir les commentaires dans le code pour plus de détails.

environnement

code

#Importer les modules requis
from pulp import LpVariable, lpSum, value
from ortoolpy import model_min

#Définition du modèle
model = model_min()

#Définition variable
# v_0 et v_Définissez deux variables appelées 1. Un conteneur qui ne contient pas de valeur spécifique.
v_0 = LpVariable("V0") 
v_1 = LpVariable("V1")

#Définition de la fonction objectif
# v_0 + v_Je veux minimiser 1.
model += lpSum([v_0, v_1])

#Ajouter une condition de contrainte
# v_0 vaut 2 ou plus
model += v_0 >= 2

# v_1 vaut 3 ou plus
model += v_1 >= 3

# v_0 et v_1 est la même valeur
model += v_0 == v_1

#À partir des conditions ci-dessus, v_0 = v_1 =Je m'attends à ce que ce soit 3.

#Résoudre le problème
model.solve()

#Voir les résultats
# value(Nom de variable)Ensuite, vous pouvez lire la valeur du résultat du calcul.
print("v_0 : ", value(v_0))
print("v_1 : ", value(v_1))
# v_0 :  3.0
# v_1 :  3.0
#La valeur attendue a été obtenue.

Recommended Posts

Un exemple très simple de problème d'optimisation avec ortoolpy
Pandas: un exemple très simple de DataFrame.rolling ()
Problème de fractionnement typique de la combinaison de problèmes
Un simple exemple de pivot_table.
Mise en place d'un filtre à particules simple
Vous voulez résoudre un problème de classification simple?
[AtCoder] Résoudre un problème de ABC101 ~ 169 avec Python
Apprentissage automatique du sport-Analyse de la J-League à titre d'exemple-②
Exemple d'implémentation simple d'un type d'augmentation de données