L'objectif est de maximiser les rendements total après avoir investi dans différents organisme financiers, dépend du montant total d'argent à investir dans chacun d'eux.
Cela aboutit à la définition de variables de décision où chacun d'entre eux se rapporte au montant investi dans un instrument particulier. Ainsi,
La compréhension et la formulation des variables de décision aident à créer une fonction objectif. Dans ce cas, l'objectif est de maximiser les rendements. Une unité de régime de retraite, un titre gouvernemental, les actions A, B et C donne en moyenne un rendement annuel de 5 %, 8,8 %, 9 %, 11 % et 13 %, respectivement. Ainsi, l'investissement indiqué par les variables de décision conduirait à une fonction objective de :
Le montant total à investir est de 200 000 $.
Le régime de retraite ne devrait pas avoir plus de 10 % de tous les autres régimes investis.
La sécurité du gouvernement devrait être investie avec au moins 50 000 $.
Le montant total à investir dans les actions ne doit pas dépasser 20 000 $.
Au moins 20 % des actions des catégories à risque moyen et élevé doivent être investies dans des actions de la catégorie à faible risque.
# ### Import
from docplex.mp.model import Model
# ### Créer model
model=Model(name="hello")
# ### créer variable de décision
x1 = model.continuous_var(name='x1')
x2 = model.continuous_var(name='x2')
x3 = model.continuous_var(name='x3')
x4 = model.continuous_var(name='x4')
x5 = model.continuous_var(name='x5')
# ### Fonction objective
# In[4]:
model.maximize(0.05*x1+0.088*x2+0.09*x3+0.11*x4+0.13*x5)
# ### Contraintes
model.add_constraint(x1+x2+x3+x4+x5 == 200000)
model.add_constraint(x1 <= 0.1*(x2+x3+x4+x5))
model.add_constraint(x2 >= 50000)
model.add_constraint(x3+x4+x5 <= 20000)
model.add_constraint(x3 >= 0.2*(x4+x5))
# ### Affichage résultats
print(model.export_to_string())
solution = model.solve(log_output=True)
solution.display()
print(solution.get_values([x1,x2,x3,x4,x5]))