{"_id":"57637ff1ed68840e0076975e","githubsync":"","category":{"_id":"574d13b9a1f0be2000ae3803","project":"574a3bc0d1d1381900b73fab","__v":0,"version":"574a3bc0d1d1381900b73fae","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-05-31T04:31:53.407Z","from_sync":false,"order":9999,"slug":"2-optimisation","title":"2. Optimization"},"project":"574a3bc0d1d1381900b73fab","user":"574bfb9290d8b32000864973","version":{"_id":"574a3bc0d1d1381900b73fae","project":"574a3bc0d1d1381900b73fab","__v":7,"createdAt":"2016-05-29T00:45:52.939Z","releaseDate":"2016-05-29T00:45:52.939Z","categories":["574a3bc0d1d1381900b73faf","574be6d52aa7221700c51bed","574c0b6d281b010e00008f89","574c1afbcf99610e00ef7d2b","574d13b9a1f0be2000ae3803","574d14140db0870e0075382d","591eb3a72c1b1f0f000fa9f2"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"3517.0.0","version":"3517"},"__v":36,"parentDoc":null,"metadata":{"title":"","description":"","image":[]},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-06-17T04:43:29.691Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":1,"body":"When a forest description is imported, and it is set to 'Automatically optimize after importing' then the software will start the optimization process.  This can be halted by clicking the button `Cancel`.  Otherwise after selecting an existing forest description, click the `Optimization` menu item to continue.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Standard Optimization Process\"\n}\n[/block]\nThere are two parameters that need to be reviewed and set prior to optimization.  These are:\n\n1. The primary year in the first period of the model, and;\n\n2. The discount rate used in the objective function\n<br />\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/YSvqUdgNQqaZBwosBkJj_optimization-basics.jpg\",\n        \"optimization-basics.jpg\",\n        \"1105\",\n        \"258\",\n        \"#1d7fcc\",\n        \"\"\n      ],\n      \"sizing\": \"full\"\n    }\n  ]\n}\n[/block]\n<br />\n##Step 1 - Set The Primary Year In The First Period Of The Model\nThis value determines the age of all the planning units (plunits) in the first period (and subsequent periods) of the forest estate model. Every plunit with stocked area at the outset of the forest estate model also has year of establishment (YOE) defined by convention in the worksheet 'Plunits'.\n\nThe software has been specifically designed to require a plunit's YOE be provided as part of the forest description.  This enables easier auditing of the forest description because a plunit's YOE is somewhat immutable and can be matched to other forestry records for cross-checking.\n<br />\n**The primary year in the first period of the model (Period 1), minus a plunit's YOE, equals the plunit's age in the first period of the model.**\n\nThat is:\n\n```\nPrimary Year in Period 1 - Plunit's YOE = Plunit's Age in Period 1\n```\n<br />\nThe simplest way to decide on the appropriate value for the optimization parameter 'Primary Year in the First Period of the Model' is to consider all the plunits that are to be established in the first period of the model (Period 1).  These plunits by definition need to be Age 0 in Period 1.  Therefore the 'Primary Year in the First Period of the Model' must be equal to the YOE of the plunits that need to be Age 0 in Period 1.\n\nFor example:\n```\nPlunit YOE = 2016.  This plunit must be Age 0 in Period 1.  Therefore Primary Year = 2016.\n```\nIt then follows for another example plunit with a YOE of 1990 that:\n```\nPlunit YOE = 1990.  The Primary Year in Period 1 = 2016.  This plunit is Age 26 in Period 1.\n```\n<br />\n##Step 2 - Set The Discount Rate Used In The Objective Function\nThe optimization parameter 'Discount Rate Used in the Objective Function' is simply the discounting factor used to determine the net present value (NPV) of the objective function during the optimization process.  \n\nThis discount factor is applied at the mid-point of the period, by definition aligning with the expected average yield defined collectively for the estate across the same period.\n<br />\n##Step 3 - Begin The Optimisation\nClick the `Start` button to begin the optimization process.  It can also be cancelled at any time.\n\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/Cvpttp0QSeKYUwJGnyD4_optimization-start.jpg\",\n        \"optimization-start.jpg\",\n        \"1106\",\n        \"461\",\n        \"#227fc8\",\n        \"\"\n      ],\n      \"sizing\": \"full\",\n      \"caption\": \"The optimization will run through data checks and processing.\"\n    }\n  ]\n}\n[/block]\n<br />\nThe optimization process has three distinct phases:\n\n1. Forest description data extraction, checking and structuring\n\n2. Mixed integer mathematical model preparation, factorization and scaling\n\n3. Optimization of the problem to maximize the objective function value using <a href=\"http://www.mosek.com/products/mosek/\" target=\"_blank\">**MOSEK**</a>.\n\n<br />\nThe optimization will continue through to completion and the optimal solution will be extracted and stored in the database for charting and consolidated data extraction for further reporting using the standard templates.  At the completion of a successful optimization then following screen will be shown.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/cxsq5zpIR3mXZneqbuko_optimization-complete.jpg\",\n        \"optimization-complete.jpg\",\n        \"1107\",\n        \"781\",\n        \"#217dc5\",\n        \"\"\n      ],\n      \"sizing\": \"full\",\n      \"caption\": \"The optimization will maximize the discounted objective function.\"\n    }\n  ]\n}\n[/block]\n<br />\n<br />\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Exclude Financial Objectives and Maximize Volume\"\n}\n[/block]\nThe default objective function is the maximization of the net present value (NPV) of the entire forest estate.  It is possible to exclude the financial objective function and only maximize the net present volume produced by the forest estate.\n\nTo maximizing volume within the forest estate model check the box labelled 'Maximize volume and ignore financial objective' as shown below.  It is also possible to further limit the volume being maximized to either clearfell volume, production thinning volume or both.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/0BctGROzRPGdObRhImBA_optimization-volume.jpg\",\n        \"optimization-volume.jpg\",\n        \"802\",\n        \"616\",\n        \"#207fc9\",\n        \"\"\n      ],\n      \"sizing\": \"80\"\n    }\n  ]\n}\n[/block]\n<br />\n<br />\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Exclude Indexation from Objective Function\"\n}\n[/block]\nIt is possible to choose to exclude the effect of log price indexation in the objective function of the optimization model.  This is useful when users want to optimize the model using the base log pricing in the forest description in each and every modelling period, ignoring any indexation that has been supplied within the forest description on the worksheet 'Index'.\n\nThe software default is to include all real log price indexation in the objective function.  Deselecting the check box shown below will exclude the effect of log price indexation from the optimization.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/I6976xqQf1aT9odVmow9_optimization-indexation.jpg\",\n        \"optimization-indexation.jpg\",\n        \"802\",\n        \"616\",\n        \"#207fc9\",\n        \"\"\n      ],\n      \"sizing\": \"80\"\n    }\n  ]\n}\n[/block]\n<br />\n<br />\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Exclude First Period Planting from Current Rotation\"\n}\n[/block]\nBy default any planning unit that is planted in the first period of the forest estate model is considered part of the Current Rotation of forest.  that is, a plunit that is Age 0 across Period 1 of the model will be considered part of the known forest description and therefore part of the current rotation of the estate.\n\nIf the portion of the forest estate that is Age 0 in Period 1 needs to be excluded from the Current Rotation and reported as being part of the Future Rotations of forest then the check box shown below can be unchecked.\n\nIf this check box below is not unchecked then all Age 0 planning units in Period 1 will be excluded from the wood flows and cash flows that will be reported as being Current Rotation.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/e7o2cf4SnCI1hpq9TBLy_optimization-current.jpg\",\n        \"optimization-current.jpg\",\n        \"802\",\n        \"616\",\n        \"#207fc9\",\n        \"\"\n      ],\n      \"sizing\": \"80\"\n    }\n  ]\n}\n[/block]\n<br />\n<br />\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Exclude Plunits and Log Grades from Data Checking\"\n}\n[/block]\n\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/8xYrdVHaS5e6i3vQKYqJ_optimization-check.jpg\",\n        \"optimization-check.jpg\",\n        \"802\",\n        \"616\",\n        \"#207fc9\",\n        \"\"\n      ],\n      \"sizing\": \"80\"\n    }\n  ]\n}\n[/block]\n<br />\n<br />\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Using Pre-Release Routines for Optimization\"\n}\n[/block]\nIt is possible to use and test pre-release routines for optimization and reporting.  These processing routines are post-beta testing, and pre-release, at which time they become the software default.  These types of routines are included for user testing because they offer significant processing improvement when used with forest estate models that have extremely large numbers of plunits.\n\nTo use the the pre-release routines for optimization and reporting click the label `Advanced Options` and then check the box labelled `Use pre-release routines for optimization and reporting`.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/xBQalQzzRn45MdEAGyL0_optimization-advanced.jpg\",\n        \"optimization-advanced.jpg\",\n        \"802\",\n        \"610\",\n        \"#207ec8\",\n        \"\"\n      ],\n      \"sizing\": \"80\"\n    }\n  ]\n}\n[/block]","excerpt":"How to optimize a standard forest description","slug":"how-to-optimize","type":"basic","title":"How to Optimize"}

How to Optimize

How to optimize a standard forest description

When a forest description is imported, and it is set to 'Automatically optimize after importing' then the software will start the optimization process. This can be halted by clicking the button `Cancel`. Otherwise after selecting an existing forest description, click the `Optimization` menu item to continue. [block:api-header] { "type": "basic", "title": "Standard Optimization Process" } [/block] There are two parameters that need to be reviewed and set prior to optimization. These are: 1. The primary year in the first period of the model, and; 2. The discount rate used in the objective function <br /> [block:image] { "images": [ { "image": [ "https://files.readme.io/YSvqUdgNQqaZBwosBkJj_optimization-basics.jpg", "optimization-basics.jpg", "1105", "258", "#1d7fcc", "" ], "sizing": "full" } ] } [/block] <br /> ##Step 1 - Set The Primary Year In The First Period Of The Model This value determines the age of all the planning units (plunits) in the first period (and subsequent periods) of the forest estate model. Every plunit with stocked area at the outset of the forest estate model also has year of establishment (YOE) defined by convention in the worksheet 'Plunits'. The software has been specifically designed to require a plunit's YOE be provided as part of the forest description. This enables easier auditing of the forest description because a plunit's YOE is somewhat immutable and can be matched to other forestry records for cross-checking. <br /> **The primary year in the first period of the model (Period 1), minus a plunit's YOE, equals the plunit's age in the first period of the model.** That is: ``` Primary Year in Period 1 - Plunit's YOE = Plunit's Age in Period 1 ``` <br /> The simplest way to decide on the appropriate value for the optimization parameter 'Primary Year in the First Period of the Model' is to consider all the plunits that are to be established in the first period of the model (Period 1). These plunits by definition need to be Age 0 in Period 1. Therefore the 'Primary Year in the First Period of the Model' must be equal to the YOE of the plunits that need to be Age 0 in Period 1. For example: ``` Plunit YOE = 2016. This plunit must be Age 0 in Period 1. Therefore Primary Year = 2016. ``` It then follows for another example plunit with a YOE of 1990 that: ``` Plunit YOE = 1990. The Primary Year in Period 1 = 2016. This plunit is Age 26 in Period 1. ``` <br /> ##Step 2 - Set The Discount Rate Used In The Objective Function The optimization parameter 'Discount Rate Used in the Objective Function' is simply the discounting factor used to determine the net present value (NPV) of the objective function during the optimization process. This discount factor is applied at the mid-point of the period, by definition aligning with the expected average yield defined collectively for the estate across the same period. <br /> ##Step 3 - Begin The Optimisation Click the `Start` button to begin the optimization process. It can also be cancelled at any time. [block:image] { "images": [ { "image": [ "https://files.readme.io/Cvpttp0QSeKYUwJGnyD4_optimization-start.jpg", "optimization-start.jpg", "1106", "461", "#227fc8", "" ], "sizing": "full", "caption": "The optimization will run through data checks and processing." } ] } [/block] <br /> The optimization process has three distinct phases: 1. Forest description data extraction, checking and structuring 2. Mixed integer mathematical model preparation, factorization and scaling 3. Optimization of the problem to maximize the objective function value using <a href="http://www.mosek.com/products/mosek/" target="_blank">**MOSEK**</a>. <br /> The optimization will continue through to completion and the optimal solution will be extracted and stored in the database for charting and consolidated data extraction for further reporting using the standard templates. At the completion of a successful optimization then following screen will be shown. [block:image] { "images": [ { "image": [ "https://files.readme.io/cxsq5zpIR3mXZneqbuko_optimization-complete.jpg", "optimization-complete.jpg", "1107", "781", "#217dc5", "" ], "sizing": "full", "caption": "The optimization will maximize the discounted objective function." } ] } [/block] <br /> <br /> [block:api-header] { "type": "basic", "title": "Exclude Financial Objectives and Maximize Volume" } [/block] The default objective function is the maximization of the net present value (NPV) of the entire forest estate. It is possible to exclude the financial objective function and only maximize the net present volume produced by the forest estate. To maximizing volume within the forest estate model check the box labelled 'Maximize volume and ignore financial objective' as shown below. It is also possible to further limit the volume being maximized to either clearfell volume, production thinning volume or both. [block:image] { "images": [ { "image": [ "https://files.readme.io/0BctGROzRPGdObRhImBA_optimization-volume.jpg", "optimization-volume.jpg", "802", "616", "#207fc9", "" ], "sizing": "80" } ] } [/block] <br /> <br /> [block:api-header] { "type": "basic", "title": "Exclude Indexation from Objective Function" } [/block] It is possible to choose to exclude the effect of log price indexation in the objective function of the optimization model. This is useful when users want to optimize the model using the base log pricing in the forest description in each and every modelling period, ignoring any indexation that has been supplied within the forest description on the worksheet 'Index'. The software default is to include all real log price indexation in the objective function. Deselecting the check box shown below will exclude the effect of log price indexation from the optimization. [block:image] { "images": [ { "image": [ "https://files.readme.io/I6976xqQf1aT9odVmow9_optimization-indexation.jpg", "optimization-indexation.jpg", "802", "616", "#207fc9", "" ], "sizing": "80" } ] } [/block] <br /> <br /> [block:api-header] { "type": "basic", "title": "Exclude First Period Planting from Current Rotation" } [/block] By default any planning unit that is planted in the first period of the forest estate model is considered part of the Current Rotation of forest. that is, a plunit that is Age 0 across Period 1 of the model will be considered part of the known forest description and therefore part of the current rotation of the estate. If the portion of the forest estate that is Age 0 in Period 1 needs to be excluded from the Current Rotation and reported as being part of the Future Rotations of forest then the check box shown below can be unchecked. If this check box below is not unchecked then all Age 0 planning units in Period 1 will be excluded from the wood flows and cash flows that will be reported as being Current Rotation. [block:image] { "images": [ { "image": [ "https://files.readme.io/e7o2cf4SnCI1hpq9TBLy_optimization-current.jpg", "optimization-current.jpg", "802", "616", "#207fc9", "" ], "sizing": "80" } ] } [/block] <br /> <br /> [block:api-header] { "type": "basic", "title": "Exclude Plunits and Log Grades from Data Checking" } [/block] [block:image] { "images": [ { "image": [ "https://files.readme.io/8xYrdVHaS5e6i3vQKYqJ_optimization-check.jpg", "optimization-check.jpg", "802", "616", "#207fc9", "" ], "sizing": "80" } ] } [/block] <br /> <br /> [block:api-header] { "type": "basic", "title": "Using Pre-Release Routines for Optimization" } [/block] It is possible to use and test pre-release routines for optimization and reporting. These processing routines are post-beta testing, and pre-release, at which time they become the software default. These types of routines are included for user testing because they offer significant processing improvement when used with forest estate models that have extremely large numbers of plunits. To use the the pre-release routines for optimization and reporting click the label `Advanced Options` and then check the box labelled `Use pre-release routines for optimization and reporting`. [block:image] { "images": [ { "image": [ "https://files.readme.io/xBQalQzzRn45MdEAGyL0_optimization-advanced.jpg", "optimization-advanced.jpg", "802", "610", "#207ec8", "" ], "sizing": "80" } ] } [/block]