CAPRI Mathematical programming and exercises Torbjörn Jansson* *Corresponding author Department for Economic and Agricultural Policy Bonn University Nussallee Bonn, Germany CAPRI Training Session in Warzaw June 26-30, 2006 CAPRI Common Agricultural Policy Regional Impact
CAPRI CAPRI Training Session in Warzaw, June 26-30, Session outline: A linear programming model A quadratic programming model Experiments with a linear and a quadratic model (exercise)
CAPRI CAPRI Training Session in Warzaw, June 26-30, An aggregate LP model Endogenous variables, here activity levels Margins m (yield*price-variable cost) Shadow prices of constraints Constraints Objective Function Objective value Constraint vector I/O coefficients
CAPRI CAPRI Training Session in Warzaw, June 26-30, Theory: Linear programming Programming modelLagrange function First order conditions (Kuhn - Tucker) Revenue Exhaustion (margin = opportunity costs) Constrains must hold
CAPRI CAPRI Training Session in Warzaw, June 26-30, Three activities {1,2,3} and two resources {l,c} Kuhn-Tucker conditions: At most two of the inequalities on the left can be satisfied with equality (if matrix A has full rank) At most two activities can be non-zero At least one activity will have too small a margin m to pay for the fix resources at least as good as the other activities. Reaction to changed margins (I)
CAPRI CAPRI Training Session in Warzaw, June 26-30, Numerical example DATA Activities: CERE, SUGB, POTA Resouces: Land, Capital Margins: CERE 575 SUGB 1000 POTA 500 Resource use matrix A = CERE SUGB POTA Land Capital Resource constraints B: Land = 10, Capital = 2540 FOC CERE: l - c 100 ≤ 0 x c ≥ 0 SUGB: l - c 300 ≤ 0 x s ≥ 0 POTA: l - c 280 ≤ 0 x p ≥ 0 (solve with algorithm…) l = c = CERE: 0 ≤ 0, x c = 2.3 SUGB: 0 ≤ 0, x s = 7.7 POTA: ≤ 0, x p = 0.0
CAPRI CAPRI Training Session in Warzaw, June 26-30, At m 0 POTA only SUGB and CERE take place Raise margin of the “zero activity” (POTA) and observe behaviour At m POTA < m’ POTA only SUGB and CERE take place. At m POTA > m’ POTA only activities POTA and CERE take place, a.s.o. Dual values change DEMO: Tuesday\LPQP.gms Reaction to changed margins (II) SUGB CERE POTA m POTA x m’ POTA m 0 POTA Land Capital
CAPRI CAPRI Training Session in Warzaw, June 26-30, Conclusions LP If there are k constraints, at most k activities will non- zero in the optimal solution A linear model responds discontinuously (semicontinuously) to changes Generally, it is not possible to set up the model to exactly reproduce observed activity levels
CAPRI CAPRI Training Session in Warzaw, June 26-30, Theory: Quadratic programming I Programming model Lagrange function
CAPRI CAPRI Training Session in Warzaw, June 26-30, Theory: Quadratic programming II Kuhn - Tucker conditions Revenue Exhaustion (margin = opportunity costs) Constrains must hold
CAPRI CAPRI Training Session in Warzaw, June 26-30, How determine PMP-terms? Howitt 1995 works, but wrong dual values, no information on price effects Heckelei 2003 Estimate first order conditions. Difficult. In CAPRI: Use exogenous supply elasticities.
CAPRI CAPRI Training Session in Warzaw, June 26-30, A calibration method for a QP using exogenous own price elasticities If only non-zero activities are considered Solving for x yields Assumption 1: jk = 0 for j k Assumption 2: is constant and known / m = 0 (with m j =p j -c j ) and
CAPRI CAPRI Training Session in Warzaw, June 26-30, Calibrate to own price elasticities of unity Raise price of output of POTA and observe behaviour DEMO: Tuesday\LPQP.gms Reaction to changes (III) SUGB CERE POTA m POTA x
CAPRI CAPRI Training Session in Warzaw, June 26-30, Exercises Use tuesday\LPQP.gms Task 1: Type the Kuhn-Tucker conditions of the NLP-model and solve them. Hints: - assume that all activities are non-zero, - define an equation z = 1 and solve system by max. z. Task 2: Plot the relationship between exogenous exasticities and point elasticities of model. Hint: Use the existing loop and parameters to calibrate the QP to different own price elasticities, simulate a 1% margin-increase, compute the point elasticity and plot the results.