Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

work

43 views
ubuntu2004
Kernel: SageMath 9.6

Devoir complété en groupe par :

1) NOM Prénom SID

2) NOM Prénom SID

3) NOM Prénom SID

4) NOM Prénom SID

5) NOM Prénom SID

Devoir maison 1

Le devoir ci-dessous peut être effectué en groupe de 5 étudiant-e-s ou moins, en échange de points bonus applicables au CC1. La notation se fera ainsi :

- 1 point bonus si au moins un des trois exercices est rendu avec des réponses essentiellement correctes,

- 2 points bonus si deux exercices sont complets et corrects dans l’ensemble,

- 3 points bonus si les trois exercices sont complets avec une majorité de réponses valides.

Le devoir doit être réalisé à l’aide du langage informatique gratuit et open-source SageMath. Rien ne vous empêche de vérifier vos réponses manuellement à côté avec un crayon et une feuille de papier. Je ne corrigerai toutefois que les devoirs soumis au format pdf se servant de SageMath. Je vous invite à consulter le dossier de TD1 réalisé sur SageMath pour vous familiariser avec le langage et le format :

https://cocalc.com/share/public_paths/c9c1cb5f75e8fe79bb122149e368840897aaff9b

Un tutoriel (en anglais) est disponible à l’adresse :https://doc.sagemath.org/html/en/tutorial/index.html

Un tutoriel (en français) est disponible à l’adresse :http://math.univ-lyon1.fr/~bergot/teaching/BookSage.pdf

Il n’est pas nécessaire d’installer SageMath sur votre ordinateur. Vous pouvez modifier de manière collaborative un document de type “Jupyter notebook” faisant tourner SageMath en arrière-plan directement à l’aide de votre navigateur internet.

Il n’est pas nécessaire de soumettre plus d’un devoir par groupe. À vous de décider avec qui vous associer. Je vous invite à utiliser le forum de la page du cours sur Espadon ou le forum Piazza pour vous coordonner.

Vous avez jusqu’au lundi 17 octobre à 12h00 (heure de Tahiti) pour soumettre votre devoir via gradescope. En fonction de la popularité de cette initiative, un devoir similaire vous sera proposé entre le CC2 et l’examen de la seconde chance en échange de points bonus qui s’appliqueront à votre CC2.

Exercice 1

Un consommateur avec un budget disponible RR consomme deux biens : XX et YY. Ses préférences peuvent être représentées par la fonction d’utilité :

U(X,Y)=23ln(X)+13ln(Y)U(X, Y) = \frac{2}{3} \cdot \ln(X) + \frac{1}{3} \cdot \ln(Y).

Les prix des biens XX et YY sont PXP_X et PYP_Y, respectivement.

1) Déclarez les variables XX, YY, PXP_X, PYP_Y, RR et λ\lambda, ainsi que la fonction d’utilité du consommateur : U(X,Y)U(X, Y)

# Insérez votre code ici puis appuyez sur “Shift + Entrée” ou “Crtl + Entrée” pour le faire évaluer par SageMath X, Y, PX, PY, R, m = var("X, Y, PX, PY, R, m")

2) Programmez le lagrangien L(X,Y,λ)=U(X,Y)+λ(RPXXPYY)\mathcal{L}(X, Y, \lambda) = U(X, Y) + \lambda \cdot (R - P_X \cdot X - P_Y \cdot Y) ou L(X,Y,λ)=U(X,Y)λ(PXX+PYYR)\mathcal{L}(X, Y, \lambda) = U(X, Y) - \lambda \cdot (P_X \cdot X + P_Y \cdot Y - R) dans Sagemath.

Note : La variable “lambda” a déjà une signification particulière dans SageMath. Je vous invite donc à utiliser à la place “m” dans votre code, le diminutif de “multiplicateur”.

# Insérez votre code ici puis appuyez sur “Shift + Entrée” ou “Crtl + Entrée” pour le faire évaluer par SageMath L(X, Y, m) = [...]; print(L(X, Y, m))

3) À l’aide de la fonction diff(), définissez les trois conditions de premier ordre : L(X,Y,λ)X=0\frac{\partial \mathcal{L}(X, Y, \lambda)}{\partial X} = 0, L(X,Y,λ)Y=0\frac{\partial \mathcal{L}(X, Y, \lambda)}{\partial Y} = 0 et L(X,Y,λ)λ=0\frac{\partial \mathcal{L}(X, Y, \lambda)}{\partial \lambda} = 0.

# Insérez votre code ici puis appuyez sur “Shift + Entrée” ou “Crtl + Entrée” pour le faire évaluer par SageMath FOC_X =[...]; print(FOC_X) FOC_Y = [...]; print(FOC_X) FOC_m = [...]; print(FOC_m)

4) À l’aide de la fonction solve(), déterminez les équations de demande pour les biens XX et YY, ainsi que la valeur du multiplicateur λ\lambda.

# Insérez votre code ici puis appuyez sur “Shift + Entrée” ou “Crtl + Entrée” pour le faire évaluer par SageMath solutions = solve([...])[0]; print(solutions) X_opt = [...]; print(X_opt)

5) Supposons que R=100R = 100, représentez la courbe de demande du bien XX pour PX[1,10]P_X \in [1, 10].

# Insérez votre code ici puis appuyez sur “Shift + Entrée” ou “Crtl + Entrée” pour le faire évaluer par SageMath plot([...])

Exercice 2

Supposons que nous avons affaire à une entreprise en situation de monopole avec une fonction de coût total :

CT(Q)=100+12Q2+20QCT(Q) = 100 + \frac{1}{2} \cdot Q^2 + 20 \cdot Q

L’entreprise opère sur un marché caractérisé par l’équation de demande :

Q=2002PQ = 200 - 2 \cdot P.

1) Définissez les variables PP et QQ dans SageMath, ainsi que l’équation du coût total CT(Q)CT(Q) et de la demande D(Q,P)D(Q, P).

# Insérez votre code ici puis appuyez sur “Shift + Entrée” ou “Crtl + Entrée” pour le faire évaluer par SageMath P, Q = [...] CT(Q) = [...]; print(CT(Q)) D(Q, P) = [...] == [...]; print(D(Q, P))

2) Définissez l’équation inverse de demande Dinv(P,Q)D_{inv}(P, Q) et représentez la courbe de demande (allant d'un axe à l’autre) sur un graphique.

# Insérez votre code ici puis appuyez sur “Shift + Entrée” ou “Crtl + Entrée” pour le faire évaluer par SageMath D_inv(P, Q) = ; print(D_inv(P, Q))

3) À partir des éléments de l’énoncé, créez dans SageMath la fonction de recette totale RT(Q)RT(Q), de recette marginale Rm(Q)Rm(Q) ainsi que la fonction du coût marginal Cm(Q)Cm(Q).

# Insérez votre code ici puis appuyez sur “Shift + Entrée” ou “Crtl + Entrée” pour le faire évaluer par SageMath RT(Q) = [...]; print(RT(Q)) Rm(Q) = [...]; print(Rm(Q)) Cm(Q) = [...]; print(Cm(Q))

4) À l’aide de Dinv(P,Q)D_{inv}(P, Q) et Cm(Q)Cm(Q) et de la fonction solve(), déterminez l’équilibre compétitif (Qc,Pc)(Q_c, P_c) et le profit de l'entreprise Πc\Pi_c (Profit(Qc)).

# Insérez votre code ici puis appuyez sur “Shift + Entrée” ou “Crtl + Entrée” pour le faire évaluer par SageMath Qc = solve([...]); print(Qc) Pc = [...]; print(Pc) Pi(Q) = [...]; print(Pi(Q)) print(Pi(Qc))

5) À l’aide de Rm(Q)Rm(Q), Cm(Q)Cm(Q) et de la fonction solve(), déterminez l’équilibre de monopole (Qm,Pm)(Q_m, P_m) et le profit de l'entreprise Πm\Pi_m (Profit(Qm)).

# Insérez votre code ici puis appuyez sur “Shift + Entrée” ou “Crtl + Entrée” pour le faire évaluer par SageMath Qm = solve([...]); print(Qm) Pm = [...]; print(Pm) print(Pi(Qm))

6) Représentez graphiquement la courbe de demande, la courbe de la recette marginale, ainsi que la courbe du coût marginal. Labellisez sur le graphique les points correspondant à l’équilibre compétitif et à l’équilibre de monopole.

# Insérez votre code ici puis appuyez sur “Shift + Entrée” ou “Crtl + Entrée” pour le faire évaluer par SageMath plot([...]) + line(...) + point([...])

7) Représentez la courbe de profit de l'entreprise sur un graphique. Assurez-vous de représenter le point qui maximise le profit, avec la valeur de profit associée.

# Insérez votre code ici puis appuyez sur “Shift + Entrée” ou “Crtl + Entrée” pour le faire évaluer par SageMath plot([...])

Exercice 3

Soit un duopole à produit homogène tel que la variable stratégique pour les firmes est la quantité produite (dans un cadre non-coopératif à information complète).

La fonction de demande (inverse) pour le marché considéré est de la forme suivante :

P=10002QP = 1000 - 2 \cdot Q, avec Q=Q1+Q2Q = Q_1 + Q_2, où Q1Q_1 correspond à la quantité produite par la Firme 1 et Q2Q_2 à la quantité produite par la Firme 2.

Les fonctions de coût total des entreprises sont respectivement :

CT1(Q1)=12Q12+10Q1CT_1(Q_1) = \frac{1}{2} \cdot {Q_1}^2 + 10 \cdot Q_1

et

CT2(Q2)=14Q22+40Q2CT_2(Q_2) = \frac{1}{4} \cdot {Q_2}^2 + 40 \cdot Q_2

1) Programmez les variables de l’énoncé : PP, Q1Q_1, Q2Q_2 dans SageMath ainsi que l’équation inverse de demande : Dinv(P,Q1,Q2)D_{inv}(P, Q_1, Q_2) et les fonctions de coût total CT1(Q1)CT_1(Q_1) et CT2(Q2)CT_2(Q_2) .

# Insérez votre code ici puis appuyez sur “Shift + Entrée” ou “Crtl + Entrée” pour le faire évaluer par SageMath P, Q1, Q2 = [...] D_inv(P, Q1, Q2) = [...]; print(D_inv(P, Q1, Q2)) CT1(Q1) = [...]; print(CT1(Q1)) CT2(Q2) = [...]; print(CT2(Q2))

2) Programmez dans sagemath les fonctions de profit de chaque entreprise : Π1\Pi_1 et Π2\Pi_2

# Insérez votre code ici puis appuyez sur “Shift + Entrée” ou “Crtl + Entrée” pour le faire évaluer par SageMath Pi1(Q1) = [...]; print(Pi1(Q1)) Pi2(Q2) = [...]; print(Pi2(Q2))

3) À partir des fonctions de profit définies précédemment et des conditions de premier ordre (Π1Q1=0\frac{\partial \Pi_1}{\partial Q_1} = 0 et Π2Q2=0\frac{\partial \Pi_2}{\partial Q_2} = 0), déterminez l’équilibre de COURNOT-NASH (quantités produites, prix, profits). À partir des conditions de premier ordre, représentez la courbe de meilleure réponse de chaque entreprise par rapport à la quantité produite par l’autre entreprise. Indices : Isolez la variable Q2Q_2 dans chacune des conditions pour faciliter la représentation graphique. Les deux courbes devraient se croiser au point où (Q1,Q2)(Q_1^*, Q_2^*), les quantités trouvées à l’équilibre de Cournot-Nash où chaque entreprise répond de la meilleure façon possible à une action prise par l’autre entreprise.

# Insérez votre code ici puis appuyez sur “Shift + Entrée” ou “Crtl + Entrée” pour le faire évaluer par SageMath FOC_1 = [...]; print(FOC_1) FOC_2 = [...]; print(FOC_2) plot([...]) equilibrium_Q = solve([...]); print(equilibrium_Q) Q1_cournot = [...] Q2_cournot = [...]

4) Donnez l'équilibre de STACKELBERG (quantités produites, prix, profits) en postulant que le producteur noté 1 est le leader.

# Insérez votre code ici puis appuyez sur “Shift + Entrée” ou “Crtl + Entrée” pour le faire évaluer par SageMath