Skip to content

Other Type of Buildings

Abstract
Other buildings in Farmdyn comprise bunker silos for maize or grass silage and potatoe storage. The actual size and corresponding costs and labour requirements are presented in the investment and financing section.

Bunker Silos and Storages

The inventories for the other buildings (bunker silos for maize or grass silage and potatoe storages) are combined into one equation. The structure is similar to the inventory equation of manure silos and stables:

buildingInv_(curBuildings(buildings),tCur(t),nCur)
        $ ( (    sum(t_n(t1,nCur1) $ isNodeBefore(nCur,nCur1), (v_buyBuildings.up(buildings,t1,nCur1) ne 0))
                 or (sum(tOld, p_iniBuildings(buildings,tOld)))) $ t_n(t,nCur) ) ..

       v_buildingsInv(buildings,t,nCur)

            =L=
*
*         --- old building / silo according to building date and lifetime
*             (will drop out of year is too far in the past)
*
           sum(tOld $ (   ((p_year(tOld) + p_lifeTimeBuild(buildings)) gt p_year(t))
                        $ ( p_year(told)                               le p_year(t))),
                           p_iniBuildings(buildings,tOld))
*
*         --- plus (old) investments - de-investments
*
        + sum(t_n(t1,nCur1) $ (   ((p_year(t1)  + p_lifeTimeBuild(buildings)) gt p_year(t))
                                $ ( p_year(t1)                         le p_year(t))
                                $ tcur(t1) $ isNodeBefore(nCur,nCur1)),
                                  + v_buyBuildingsF(buildings,t1,nCur1));

The buildings included in the model are:

set s_bunkerSilos /
                   bunkerSilo0
                   bunkerSilo450
*                   bunkerSilo900
*                   bunkerSilo1620
*                   bunkerSilo2640
*                   bunkerSilo3630
*                   bunkerSilo4620
*                   bunkerSilo8580
*                   bunkerSilo11870
                   bunkerSilo26550
                 /;
set buildings  /
                     set.s_potaStores
                     set.s_bunkerSilos
                   /;

The attributes of the buildings are defined in dat\buildings_de.gms:

table p_building(buildings,buildAttr)
                     invSum   capac_t  capac_m3   lifeTime    varCost

  potaStore0                   eps                 12
  potaStore100t     80000      100                 12          323
  potaStore500t    195850      500                 12          323
  potaStore11250t 1740000    11250                 12          323
*
*  --- KTBL 2014/15 p.144
*
  bunkerSilo0                            eps        20
  bunkerSilo450      34176               450        20
*  bunkerSilo900      60900               900        20
*  bunkerSilo1620     84490              1620        20
*  bunkerSilo2640    115770              2640        20
*  bunkerSilo3630    127110              3630        20
*  bunkerSilo4620    138450              4620        20
*  bunkerSilo8580    218250              8580        20
*  bunkerSilo11870   284970             11870        20
  bunkerSilo26550   482000             26550        20
   ;

The inventory of the buildings is linked to building needs of certain activities:

buildingNeed_(curBuildType(buildType),buildCapac,tCur(t),nCur)
         $ (sum(curProds(prods),p_buildingNeed(prods,buildType,buildCapac)) $ t_n(t,nCur) ) ..

       sum(buildType_buildings(buildType,buildings)
               $ (  (     sum(t_n(t1,nCur1) $ isNodebefore(nCur,nCur1), (v_buyBuildings.up(buildings,t1,nCur1) ne 0))
                      or  sum(tOld, p_iniBuildings(buildings,tOld)))
                       $ curBuildings(buildings)),

            v_buildingsInv(buildings,t,nCur) * p_building(buildings,buildCapac))

                 =G= v_buildIngNeed(buildType,t,nCur);