* Modele no. 7 du manuel sur * ADOPTION ET L"IMPACT DES NOUVELLES TECHNOLOGIES * William Masters et Jeffrey Vitale (Purdue Univ.), nov. 1998 * 1145 Krannert Bldg., West Lafayette IN 47907 * ph. 1 765 494 4235, fax 1 765 494 9176 * masters@agecon.purdue.edu; vitale@agecon.purdue.edu * * Ce modele introduit une distinction entre regions * avec l'addition de la region cotoniere plus Bamako. * * On introduit le mot-clef ALIAS pour creer deux ensembles * qui ont les memes elements, ce qui nous permettra d'avoir * des variables definis sur deux regions -- par exemple on aura * le transport d'une region a une autre, donc d'un element de * l'ensemble (r) a un element de l'ensemble (q). * * Dans l'objectif il nous faudra prendre compte du * total des couts de transport avec un nouveau * variable, TR(i,r). SET i /sorgho, mil , niebe, coton, mais/ ; SET r /cereal, coton, bamako/; ALIAS (r, q); PARAMETERS A(i,r), B(i,r); POSITIVE VARIABLES D(i,r), TC(i,r),TR(i,r); VARIABLE BES ; EQUATION objectif ; objectif .. BES =E= sum(i, sum(r,A(i,r)*D(i,r)*D(i,r)/2 + B(i,r)*D(i,r) - TC(i,r) - TR(i,r))) ; * La superficie emblavee dans chaque produit est defini par region, * et chaque region a sa propre contrainte des terres disponibles. POSITIVE VARIABLE X(i,r); EQUATION terres(r); PARAMETER S(r); terres(r) .. SUM( i, X(i,r) ) =L= S(r); * Chaque region doit trouver l'equilibre dans son propre marche * tel que sa consommation est egale a son offre plus ce qui est * transporte de ou vers les autres regions. EQUATION equilibre(i,r); POSITIVE VARIABLE O(i,r) ; VARIABLE T(i,q,r); equilibre(i,r) .. D(i,r) =L= O(i,r) + SUM(q, T(i,q,r)) ; * Les equations pour calculer les couts et l'offre doivent * aussi prendre compte des regions EQUATIONS calcoffre(i,r), calccouts(i,r) ; PARAMETER Y(i,r), c(i) ; calcoffre(i,r) .. -Y(i,r)*X(i,r) +O(i,r) =E= 0; calccouts(i,r) .. - c(i)*X(i,r) +TC(i,r) =E= 0; * Nous avons maintenant un autre type de cout * a calculer; c'est le cout du transport, TR(i,r), pour lequel * il nous faudra le cout unitaire de transport, h(i,q,r) * du produit (i) de la region (q) a la region (r). EQUATION calctransp(i,r); PARAMETER h(i,q,r); POSITIVE VARIABLE TR(i,r); calctransp(i,r) .. -SUM(q, h(i,q,r)*T(i,q,r)) + TR(i,r)=E= 0; * Et nous avons aussi un autre type d'equilibre, c'est * l'equilibre dans le transport qui assure que les regions * sont d'accord sur leurs echanges, c'est a dire que ce * que la region (r) importe de la region (q) est bien * ce que (q) exporte vers (r). EQUATION equiltrans(i,q,r); equiltrans(i,q,r) .. T(i,q,r) + T(i,r,q) =E= 0; * Pour simplifier l'entree des donnees sur la demande on * on veut avoir deux types de population dans chaque * region, en creant un nouvel ensemble pour les deux * types de personnes, rurale et urbaines, qui vivent * dans chaque region. La region cerealiere est * kayes, segou, mopti, tombouctou, gao. La region * cotoniere est sikasso et koulikoro. Bamako est sa * propre region, qui consomme sans produire. PARAMETER Dequil(i,r), Pequil(i,r); PARAMETER subsist; subsist = 180; SET type /rurale, urbane/; PARAMETER popcereal(type), popcoton(type), popbamako; popcereal('rurale') = 4192000; popcereal('urbane') = 999000; popcoton('rurale') = 2508000; popcoton('urbane') = 551000; popbamako = 941000; Dequil('sorgho','cereal') = .45*subsist*(popcereal('rurale')+popcereal('urbane')); Dequil('sorgho','coton') = .45*subsist*(popcoton('rurale')+popcoton('urbane')); Dequil('sorgho','bamako') = .25*subsist*popbamako; Dequil('mil ','cereal') = .45*subsist*(popcereal('rurale')+popcereal('urbane')); Dequil('mil ','coton') = .45*subsist*(popcoton('rurale')+popcoton('urbane')); Dequil('mil ','bamako') = .25*subsist*popbamako; Dequil('niebe','cereal') = 50*(popcereal('rurale')+popcereal('urbane')); Dequil('niebe','coton') = 50*(popcoton('rurale')+popcoton('urbane')); Dequil('niebe','bamako') = 50*popbamako; Dequil('mais','cereal') = .1*subsist*(popcereal('rurale')+popcereal('urbane')); Dequil('mais','coton') = .1*subsist*(popcoton('rurale')+popcoton('urbane')); Dequil('mais','bamako') = .1*subsist*popbamako; Dequil('coton','cereal') = 1; Dequil('coton','bamako') = 1; Dequil('coton','coton') = 452046000; Pequil('sorgho',r) = 99; Pequil('mil ',r) = 97; Pequil('niebe',r) = 171; Pequil('coton',r) = 155; Pequil('mais',r) = 83; PARAMETER epsilon(i,r) ; epsilon('sorgho',r) = -.5; epsilon('mil ',r) = -.5; epsilon('niebe',r) = -.5; epsilon('mais',r) = -.5; epsilon('coton','cereal') = -.1; epsilon('coton','bamako') = -.1; epsilon('coton','coton') = -10000000; A(i,r) = Pequil(i,r)/(Dequil(i,r)*epsilon(i,r)) ; B(i,r) = Pequil(i,r)*(1 - 1/epsilon(i,r)) ; Y('sorgho','cereal') = 570; Y('sorgho','coton') = 698; Y('mil ','cereal') = 570; Y('mil ','coton') = 680; Y('niebe','cereal') = 1300; Y('coton','coton') = 1200; Y('mais','coton') = 2500; S('cereal') = 901906 ; S('coton') = 1189789 ; * le sorgho et le mil sont produits sans intrants achetes * niebe utilise 100 kg/ha de comp cereal * coton utilise 100 kg/ha de comp coton et 50 kg/ha de uree * mais utilise 100 kg/ha de comp cereal et 150 kg/ha de uree c('sorgho') = 1500; c('mil ') = 1500; c('niebe') = 1500; c('coton') = 32000; c('mais') = 51500; * pour l'instant on met le cout du transport a zero, en * attendant de le modifier dans notre exercice. h(i,q,r) = 0; * finalement on peut creer le modele et lancer sa solution MODEL modele7 /objectif,terres, equilibre, calcoffre, calccouts, calctransp, equiltrans/ ; SOLVE modele7 maximizing BES using NLP;