Table 1: Caractéristiques des différents types de véhicules
On classe les voitures européennes selon trois grands types ou technologies: “classique”,“efficace”
et “électrique”. On résume leurs caractéristiques dans le tableau 1. A l’année de référence,
l’essence coute 1 700 $/tep et l’électricité coute 2 000 $/tep. Les automobilistes gardent en
moyenne 8 ans leur voiture, et parcourent 14 000 km par an.
Question 1Incorporez ces données à optval.sce.
//parts de marche des voitures a l'annee de reference
MSH_ref=[ 0.88 0.10 0.02];
//Cout des voitures
CINV=[16500 22000 29000]; //$
conso_carbu = [7.04E-5 5.29E-5 0]; //tep /km (8.7 6.5 0. L/100km)
conso_elec = [0 0 1.54E-5]; //tep/km
//parcours moyen d'un vehicule et duree de vie
km_per_year=14000;
life_time = 8;
3 Modélisation du marché automobile
Les notes d’un chercheur mentionnent lcc(j), valeur associée à chaque technologie j et calculée
grâce à la relation:
(1)
Question 2Que représente d’après vous lccpour chaque technologie? Identifiez chaqueterme de l’équation(1).
D’après les notes du chercheur, la part de chaque technologie dans le stock d’automobiles msh
(pour market share) vérifie
(2)
où γ est un nombre négatif qui est fonction de l’homogénéité du marché, et (j,k) représente un
couple de technologies.
Question 3Quelle valeur de gamma pourrait représenter un marché parfaitementhomogène, i.e. pour lequel tous les consommateurs ont rigoureusement le mêmecomportement ?
La fonction scilab suivante calcule un lcckilométrique annualisé. On en parlera tout de même
par la suite comme du lcc.
Question 4Proposez un calcul direct de chaque mshen fonction de tous les lcc, puiscomplétez la fonction scilab suivante destinée à calculer les parts de marché de chaquetechnologie. On pourra utiliser la puissance terme à terme .^et la commande sum.
function MSH = calc_pdm(LCC,gama)
//completer ici
endfunction
Les notes du chercheur proposent les valeurs suivantes pour le taux d’actualisation et la
variable d’homogénéité du marché.
Question 5Vérifiez que ces valeurs donnent des résultats proches des parts de marchésconstatées (tableau1).
On s’intéresse au cout moyen annualisé du système automobile :
function tot_annual_cost = calc_anualcost(lcc,MSH,km_per_year)
tot_annual_cost = sum(lcc.*MSH).*km_per_year
endfunction
Question 6Quel est le cout moyen annualisé du système automobile simulé à l’année deréférence?
cout_ref = calc_anualcost(lcc,MSH,km_per_year)
disp("cout moyen anualise de reference : "+string(cout_ref))
4 Scénarios de prix de l’énergie et pénétration du véhicule électrique
L’évolution des prix des énergies est difficile à prévoir, notre chercheur ne peut donc pas assoir son
analyse sur une prévision unique des prix. Les prévisions consultées par notre chercheur
se contredisent: les prix pourraient aussi bien doublés qu’être divisés par deux ! Le
chercheur décide de modéliser les prix futurs comme des variables aléatoires log-normales
:
//SCENARIOS
N=300; //ajuster en fonction de la vitesse de votre machine
evar = log(2)/3; emean = log(1.2);
cvar = log(2)/2; cmean = log(1.5);
distri_elec = exp(grand(1,N,"nor",emean,evar));
distri_carb = exp(grand(1,N,"nor",cmean,cvar));
p_elec_futurs = p_elec_ref *distri_elec;
p_carbufuturs = p_carbu_ref*distri_carb;
//Affichage des hypotheses sur les prix
n_histo = 40;
clf;
subplot(321);
histplot(n_histo,p_elec_futurs); title("Distribution de p_elec_futurs");
subplot(322);
histplot(n_histo,p_carbufuturs); title("Distribution de p_carbufuturs");
xs2gif(0,"HypothesesPrixFuturs.gif");
Question 7Pourquoi avoir choisi une représentation log-normale ? Comparez ce que saitnotre chercheur sur l’évolution future des prix du carburant et de l’électricité.
Question 8Calculer, pour chaque couple de prix futurs, les parts de marché de la voitureélectrique (VE) et le cout moyen annualisé du système de transport.
//SIMULATIONS DE LA PENETRATION DU VE
winId=waitbar("Simulation...");
k=1;
tot_cost_futurs = zeros(N^2,1);
lcc_futurs = zeros(N^2,3);
MSH_futurs = zeros(N^2,3);
for i = 1:size(p_elec_futurs,"*")
for j = 1:size(p_carbufuturs,"*")
pelec = p_elec_futurs(i);
pcarb = p_carbufuturs(j);
lcc_futurs(k,:) = calc_lcc(CINV,conso_elec,conso_carbu,pelec,pcarb,km_per_year,disc_rate);
MSH_futurs(k,:) = calc_pdm(lcc_futurs(k,:),gama);
tot_cost_futurs(k) = calc_anualcost(lcc_futurs(k,:),MSH_futurs(k,:),km_per_year);
waitbar(k/(N^2),winId);
k=k+1;
end
end
winclose(winId);
cost_with_VE = tot_cost_futurs;
msh_ve = MSH_futurs(:,3);
//Affichage
subplot(312);
histplot(n_histo,msh_ve); title("Distribution des pdm de VE");
subplot(313);
histplot(n_histo,cost_with_VE); title("Distribution des couts du systeme automobile");
xs2gif(0,"PDMveFuturs.gif");
Question 9Calculez et affichez de même la distribution de cost_no_VE, cout annualisé dusystème automobile lorsque les VE ne sont pas disponibles. On pourra utiliser une astucepour exclure rapidement le VE, comme:
CINVnoVE = CINV; CINVnoVE(3) = 10*CINV(3);
Valeur d’option
On suppose que le revenu moyen des automobilistes est de 30 000 $. On suppose que les
déplacements automobiles sont contraints et les automobilistes n’y associent aucune utilité. Cette
dernière dépend du logarithme du revenu disponible après déplacements automobiles
:
//UTILITE ET VALEUR D'OPTION
Revenu = 30000;
function u=calc_util(tot_cost_futurs,Revenu)
u = log(Revenu-tot_cost_futurs)
endfunction
Question 10Commentez la forme fonctionnelle de l’utilite à la lumière du TP Risk anddecision. L’objectif est de calculer l’effet de la disponibilité du VE sur l’utilité espérée.Pourquoi a-t-on besoin de connaitre le revenu ?
Question 11Affichez la distribution d’utilité dans les cas avec et sans VE, en faisantapparaitre l’utilité espérée. Commentez l’effet de la disponibilité des VE sur la distributionde l’utilité.
Le gouvernement propose de financer la création de la filière de production de voitures
électriques par une taxe forfaitaire et payée par les automobilistes (à l’image de la vignette
automobile). On cherche quel est le montant maximal que l’automobiliste est prêt à
payer aujourd’hui pour s’assurer que des VE seront disponibles si nécessaires dans le
futur.
Question 12Calculer le prélèvement maximal que l’on peut ponctionner sur le revenu desautomobilistes en échange de la garantie que des voitures électriques seront disponibles dans lefutur. Il s’agit de la valeur que l’automobiliste partageant avec notre chercheur les croyancessur les prix futurs de l’énergie accorde à une option sur le véhicule électrique (VE).
function y=solve_cvi(x,distrib_cost,Revenu,cible)
y = mean(calc_util(distrib_cost,Revenu+x))-cible
endfunction
Question 13Comparez la valeur d’option à l’effet des VE sur moyenne du cout du systèmeautomobile. Commentez la valeur absolue et le signe de la différence entre ces deux valeurs.
Cost at risk
Les bonnes pratiques administratives imposent de s’interesser au cost at risk des projets sur
lesquels la puissance publique intervient. On appelle cost at risk au niveau λ du système
automobile le cout annualisé x tel que le cout futur du système automobile soit inférieur à x avec
une probabilité de 1 − λ.
Question 14Calculer et comparer le cost at risk au niveau 5% du système automobilelorsque les VE sont disponibles et indisponibles.
//COST AT RISK
lambda=0.05;
values=gsort(cost_with_VE);
CaR_ve=values(int(lambda*N^2));
clf;
plot(values,linspace(0,1,N^2),"r");
disp("CaR(5%) des trajets avec VE = "+string(CaR_ve) );
valuesnove=gsort(cost_no_VE);
CaR_nove=valuesnove(int(lambda*N^2));
plot(valuesnove,linspace(0,1,N^2),"b");
disp("CaR(5%) des trajets sans VE = "+string(CaR_nove) );
legend(["avecVE","sansVE"]);
title("Distribution des couts du systeme automobile et CaR(5%)")
plot([values; valuesnove],lambda*ones([values; valuesnove]),"k");
xs2gif(0,"DistribCoutsTrajetBaseline.gif");
5 Calcul et contrôle des emissions de gaz à effet de serre
Calcul des émissions de CO2
Prix du carbone ($)
0
10
30
200
Abbatements (GtCO2)
0
0.5
1
2
Table 2: Réponse du reste de l’économie à un prix du carbone
Il y a 220 millions de véhicules dans le parc. La consommation de carburants s’accompagne
d’émissions de CO2: l’électricité contient 400 gCO2/kWh, et les carburants liquides contiennent
2.8 tC02/tep.
Question 15Complétez la fonction scilab qui calcule les emissions de gaz à effet serre dusystème automobile, puis calculez les émissions des voitures à l’année de référence.
//EMISSIONS DE GAZ A EFFET DE SERRE
contenu_elec_ref = 4.5; // tC02/tep
contenu_carbu = 2.8; // tC02/tep
On s’intéresse aux émissions totales de CO2. Le reste de l’économie (hors système automobile)
est responsable de 4.5 GtCO2/an. On souhaite appliquer une taxe carbone pour réduire les
émissions de CO2. Notre chercheur connait précisément la réponse du reste de l’économie à une
taxe carbone, qui est résumée dans le tableau 2.
Question 16Complétez la fonction suivante qui calcule les émissions de CO2du reste del’économie en fonction du niveau de la taxe. On pourra utiliser la commande interpln.
Notre chercheur est de plus certain que le contenu carbone de l’éléctricité décroit linéairement
avec le niveau de la taxe, pour atteindre 0 à 250 $/tCO2:
function contenu_elec= calc_contenu_elec(tax,contenu_elec_ref)
contenu_elec = max (interpln ([0 250; contenu_elec_ref 0],tax),0)
endfunction
On souhaite tester la réponse de notre modèle à un prix du carbone. Pour l’instant, on soumet
arbitrairement le modèle à des taxes de 0, 10, 30, 60 et 100 $/tCO2, qui seront considérées
équiprobables.
Question 17Calculer, afficher et commmenter la distribution des émissions de gaz à effetde serre totaux, quand le VE est disponible et lorsqu’il ne l’est pas. Pour cela compléter leprogramme ci-dessous :
//Hypotheses sur la valeur du carbone
taxes_futures = [0 10 30 60 100]
n_tax= size(taxes_futures,"*");
//distribution des emissions avec VE
winId=waitbar("Impact taxe...");
k=1;
tot_cost_futurs = zeros(N^2*n_tax,1);
lcc_futurs = zeros(N^2*n_tax,3);
MSH_futurs = zeros(N^2*n_tax,3);
contenu_elec = zeros(N^2*n_tax,1);
emis_roe = zeros(N^2*n_tax,1);
emiscar = zeros(N^2*n_tax,1);
for i = 1:size(p_elec_futurs,"*")
for j = 1:size(p_carbufuturs,"*")
for l=1:n_tax
tax = taxes_futures(l);
pelec = p_elec_futurs(i);
pcarb = p_carbufuturs(j);
contenu_elec = calc_contenu_elec(tax,contenu_elec_ref);
emis_roe(k) = calc_roe_emis(tax,emi_roe_ref);
lcc_futurs(k,:) = calc_lcc(CINV,conso_elec,conso_carbu,pelec+tax*contenu_elec,..
pcarb+tax*contenu_carbu,km_per_year,disc_rate);
MSH_futurs(k,:) = calc_pdm(lcc_futurs(k,:),gama);
emiscar(k) = calc_car_emi(MSH_futurs(k,:),conso_elec,conso_carbu,contenu_elec,contenu_carbu);
waitbar(k/(N^2*n_tax),winId);
k=k+1;
end
end
end
winclose(winId);
emis_ve = emiscar + emis_roe;
//COMPLETER ICI LE CAS SANS VE
...
clf;histplot(n_histo,emis_ve);
histplot(n_histo,emis_nove,style=3);
title("distribution des emissions");
legend(["avecVE"; "sansVE"]);
xs2gif(0,"PresenceVEsurEmissions.gif");
Question 18Que deviennent alors la valeur d’option du VE et les Cost at risk du systèmeautomobile?
Contrôle des émissions de CO2
Plutôt que de faire des scénarios sur le prix futur du CO2, on souhaite contraindre l’économie à
réduire de moitié ses émissions. On cherche donc, dans chaque scénario, a appliquer le prix du
carbone qui permet d’atteindre cet objectif.
La fonction suivante calcule la plupart des variables de notre modèle. Elle peut être utilisée
comme le montrent les exemples ci-dessous pour calculer les variables du modèle ou pour trouver
la taxe qui contraint les émissions à un niveau donné.
//trouve la taxe qui permet d'atteindre 4GtCO2 en partant d'une taxe \`a 50;
tax_calc = fsolve(50,list(calc_tot_emis,contenu_elec_ref,contenu_carbu,emi_roe_ref,cinv,..
conso_elec,conso_carbu,pelec,pcarb,km_per,year,disc_rate,gama,4e9));
//calcule les autres variables du modele sans cibler de niveau d'emissions particulieres.
[emis(k), emiscar(k), emis_roe(k),contenu_elec(k),lcc_courant,MSH_courant] = ..
calc_tot_emis(tax(k),contenu_elec_ref,contenu_carbu,emi_roe_ref,cinv,conso_elec,..
conso_carbu,pelec,pcarb,km_per_year,disc_rate,gama,0);
Question 19Utiliser les deux formes de cette fonction pour calculer, afficher et comparerla distribution de taxe permettant d’atteindre l’objectif de diviser par deux les émissions del’économie entière, avec et sans VE disponibles.
Question 20Calculer la nouvelle valeur d’option du VE et les nouveaux Cost at Risk.