control function: can it be made 4 times faster?

For technical support, tips and tricks, suggestions, or any other information regarding the EViews model object.

Moderators: EViews Gareth, EViews Moderator

tvonbrasch
Posts: 412
Joined: Fri Apr 15, 2011 5:35 am

control function: can it be made 4 times faster?

Hi

I am wondering if it would be possible to make the "control" function more efficient.

The reason why I am asking is because I have tried to solve control for target in two different ways when the control variable is in the same equation as the target endogenous variable:

1) using the control function. It takes 3.1 seconds to solve using this function, see program:
snu_modellen_control.prg

2) manually changing the equation. It takes 0.7 seconds to solve using this approach, see program
snu_modellen_manuelt.prg

the second procedure can be illustrated as follows. consider the equation:

yi = a1*y1+...+an*yn+zi

where yi is the endogenous variable we want to control and zi is the control variable (add-factor). Let yi denote the target for the endognous variable. we can then rewrite the equation above as

0*zi+yi = a1*y1+...+an*yn+zi

and include it in the model object.

we have thus used the following steps
i) made the endogenous variable yi exogenous
ii) defined a target variabel yi
iii) made the control variable zi endogenous

Now the model solves for the control variable zi which yields the desired target yi. Interestingly, this procedure is more than 4 times faster than the built in "control" function.

This leads me to think that you can rewrite the control function in some way to make it more efficient. Is this correct?

Thomas

ps: you can use the attached program files on the workfile i sent you previously