<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.heurekaslu.se/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rickardw</id>
	<title>Heureka Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.heurekaslu.se/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rickardw"/>
	<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/wiki/Special:Contributions/Rickardw"/>
	<updated>2026-05-05T17:41:15Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.13</generator>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.16&amp;diff=10210</id>
		<title>Version 2.16</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.16&amp;diff=10210"/>
		<updated>2020-07-01T14:10:19Z</updated>

		<summary type="html">&lt;p&gt;Rickardw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.16&lt;br /&gt;
{{Languages| Version 2.16}}&lt;br /&gt;
[[Category:Release]]&lt;br /&gt;
[[newsdate::2020-07-01]]  [[language::en| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
{{DISPLAYTITLE:Version 2.16}}&lt;br /&gt;
==Summary==&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2020-06-05&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
*Version 2.16 contains bug fixes, improvements of existing functionality (mostly UI-related), and one new feature.&lt;br /&gt;
*The new feature allows you to include complex expressions in reports (PlanWise and RegWise). With this, you can create report variable conditions that are functions of other variables.  This feature resembles the Sql Query-builder tools often found in GIS-applications. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
====Bug fixes and improvements====&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2020-06-05&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.16.0, 2.16.1, 2.16.2, 2.16.3&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
comment.344=Removal of overstorey propsals are now performed in the period closest to the defined year&lt;br /&gt;
comment.346= Production.cs always used the ProductionModelControlTable's parent ControlCategory for construction of (plugin) models, meaning the TreatmentModelControlTable supplied to plugins were the TMCT from the ProductionModelControlTable's parent ControlCategory. For built-in models, this only applied to SaplingHeightGrowthElfving, which gets its breeding settings from the TreatmentModelControlTable.&lt;br /&gt;
ProductionModelControlTable no longer keeps a reference to its parent ControlCategory. It was only used for this purpose, and the currently used ControlCategory is instead supplied to the plugin constructor at simulation time.&lt;br /&gt;
comment.342=NC-areas management programs were not saved correctly in RegWise&lt;br /&gt;
comment.347=Linking of retention patches to parent stands failed if AreaLevel2 and AreaLevel3 were missing.&lt;br /&gt;
comment.329=Wrong array was updated when program corrected DiameterType in input data&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rickardw</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.16&amp;diff=10209</id>
		<title>Version 2.16</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.16&amp;diff=10209"/>
		<updated>2020-07-01T14:06:56Z</updated>

		<summary type="html">&lt;p&gt;Rickardw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.16&lt;br /&gt;
{{Languages| Version 2.16}}&lt;br /&gt;
[[Category:Release]]&lt;br /&gt;
[[newsdate::2020-06-05]]  [[language::en| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
{{DISPLAYTITLE:Version 2.16}}&lt;br /&gt;
==Summary==&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2020-06-05&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
*Version 2.16 contains bug fixes, improvements of existing functionality (mostly UI-related), and one new feature.&lt;br /&gt;
*The new feature allows you to include complex expressions in reports (PlanWise and RegWise). With this, you can create report variable conditions that are functions of other variables.  This feature resembles the Sql Query-builder tools often found in GIS-applications. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
====Bug fixes and improvements====&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2020-06-05&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.16.0, 2.16.1, 2.16.2, 2.16.3&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
comment.344=Removal of overstorey propsals are now performed in the period closest to the defined year&lt;br /&gt;
comment.346= Production.cs always used the ProductionModelControlTable's parent ControlCategory for construction of (plugin) models, meaning the TreatmentModelControlTable supplied to plugins were the TMCT from the ProductionModelControlTable's parent ControlCategory. For built-in models, this only applied to SaplingHeightGrowthElfving, which gets its breeding settings from the TreatmentModelControlTable.&lt;br /&gt;
ProductionModelControlTable no longer keeps a reference to its parent ControlCategory. It was only used for this purpose, and the currently used ControlCategory is instead supplied to the plugin constructor at simulation time.&lt;br /&gt;
comment.342=NC-areas management programs were not saved correctly in RegWise&lt;br /&gt;
comment.347=Linking of retention patches to parent stands failed if AreaLevel2 and AreaLevel3 were missing.&lt;br /&gt;
comment.329=Wrong array was updated when program corrected DiameterType in input data&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rickardw</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.16&amp;diff=10208</id>
		<title>Version 2.16</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.16&amp;diff=10208"/>
		<updated>2020-07-01T13:58:59Z</updated>

		<summary type="html">&lt;p&gt;Rickardw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Version 2.16}}&lt;br /&gt;
==Summary==&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2020-06-05&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
*Version 2.16 contains bug fixes, improvements of existing functionality (mostly UI-related), and one new feature.&lt;br /&gt;
*The new feature allows you to include complex expressions in reports (PlanWise and RegWise). With this, you can create report variable conditions that are functions of other variables.  This feature resembles the Sql Query-builder tools often found in GIS-applications. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
====Bug fixes and improvements====&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2020-06-05&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.16.0, 2.16.1, 2.16.2, 2.16.3&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
comment.344=Removal of overstorey propsals are now performed in the period closest to the defined year&lt;br /&gt;
comment.346= Production.cs always used the ProductionModelControlTable's parent ControlCategory for construction of (plugin) models, meaning the TreatmentModelControlTable supplied to plugins were the TMCT from the ProductionModelControlTable's parent ControlCategory. For built-in models, this only applied to SaplingHeightGrowthElfving, which gets its breeding settings from the TreatmentModelControlTable.&lt;br /&gt;
ProductionModelControlTable no longer keeps a reference to its parent ControlCategory. It was only used for this purpose, and the currently used ControlCategory is instead supplied to the plugin constructor at simulation time.&lt;br /&gt;
comment.342=NC-areas management programs were not saved correctly in RegWise&lt;br /&gt;
comment.347=Linking of retention patches to parent stands failed if AreaLevel2 and AreaLevel3 were missing.&lt;br /&gt;
comment.329=Wrong array was updated when program corrected DiameterType in input data&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rickardw</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_2.16&amp;diff=10207</id>
		<title>Version 2.16</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_2.16&amp;diff=10207"/>
		<updated>2020-07-01T13:51:19Z</updated>

		<summary type="html">&lt;p&gt;Rickardw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Version 2.16&lt;br /&gt;
{{Languages| Version 2.16}}&lt;br /&gt;
[[Category:Release]]&lt;br /&gt;
[[newsdate::2020-06-05]]  [[language::en| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{{DISPLAYTITLE:Version 2.16}}&lt;br /&gt;
==Summary==&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2020-06-05&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
*Version 2.16 contains bug fixes, improvements of existing functionality (mostly UI-related), and one new feature.&lt;br /&gt;
*The new feature allows you to include complex expressions in reports (PlanWise and RegWise). With this, you can create report variable conditions that are functions of other variables.  This feature resembles the Sql Query-builder tools often found in GIS-applications. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;startFeed /&amp;gt;&lt;br /&gt;
====Bug fixes and improvements====&lt;br /&gt;
&amp;lt;feedDate&amp;gt;2020-06-05&amp;lt;/feedDate&amp;gt;&lt;br /&gt;
&amp;lt;endFeed /&amp;gt;&lt;br /&gt;
&amp;lt;mantis&amp;gt;&lt;br /&gt;
status = resolved, closed&lt;br /&gt;
color = false&lt;br /&gt;
fixed_in_version = 2.16.0, 2.16.1, 2.16.2, 2.16.3&lt;br /&gt;
orderby = fixed_in_version desc, category desc&lt;br /&gt;
show = id,category,severity,summary,fixed_in_version,resolution&lt;br /&gt;
summary_as_comment = true&lt;br /&gt;
comment.344=Removal of overstorey propsals are now performed in the period closest to the defined year&lt;br /&gt;
comment.346= Production.cs always used the ProductionModelControlTable's parent ControlCategory for construction of (plugin) models, meaning the TreatmentModelControlTable supplied to plugins were the TMCT from the ProductionModelControlTable's parent ControlCategory. For built-in models, this only applied to SaplingHeightGrowthElfving, which gets its breeding settings from the TreatmentModelControlTable.&lt;br /&gt;
ProductionModelControlTable no longer keeps a reference to its parent ControlCategory. It was only used for this purpose, and the currently used ControlCategory is instead supplied to the plugin constructor at simulation time.&lt;br /&gt;
comment.342=NC-areas management programs were not saved correctly in RegWise&lt;br /&gt;
comment.347=Linking of retention patches to parent stands failed if AreaLevel2 and AreaLevel3 were missing.&lt;br /&gt;
comment.329=Wrong array was updated when program corrected DiameterType in input data&lt;br /&gt;
&amp;lt;/mantis&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rickardw</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Version_1.6&amp;diff=10136</id>
		<title>Version 1.6</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Version_1.6&amp;diff=10136"/>
		<updated>2019-12-11T14:56:48Z</updated>

		<summary type="html">&lt;p&gt;Rickardw: Replaced salix FTP links with heurekaslu equivalents.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
[[Category:ReleaseNotes archive]]&lt;br /&gt;
[[newsdate::2011-11-11]]&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Version 1.6 contains several improvements since last release in beginning of September, for example:&lt;br /&gt;
*We have worked a lot with a function in RegWise to improve handling and computation of the forest state at the start year. &lt;br /&gt;
&lt;br /&gt;
*Parallelization of the treatment program generator in PlanWise to better utilize the computation capacity of multi-core processors has also been a large activity, in order to decrease computation times.&lt;br /&gt;
&lt;br /&gt;
*An optimization model for tactical planning problems in PlanWise with road entry decisions has been developed as part of an MSc study for SCA Forest. &lt;br /&gt;
&lt;br /&gt;
*Forest Domain expressions can be defined as relations between different variables.&lt;br /&gt;
&lt;br /&gt;
*Dead wood is reported separately for coniferous and deciduous trees.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;'''Important''': When using period midpoints in PlanWise, period 0 now refers to a point in time (year 0). Period 1 refers to activities bewteen year 0 to 5, with midpoint 2.5. This can affect your optimization models, see below.&lt;br /&gt;
&lt;br /&gt;
==New features ==&lt;br /&gt;
*The HabitatPrognosis is released (finally!), although we call it a beta version. See download and how-to instructions [[HabitatPrognosis | here]]. Instructions are in Swedish but the user interface is in English.&lt;br /&gt;
  &lt;br /&gt;
*When editing conditions in a forest domain, expressions can now hold variables with modifiers as expression types. This means that a condition can include a relation between two variables (instead of one variable and a constant value), for example MeanAge &amp;gt;= 1.1*MinFinalFellingAge.&lt;br /&gt;
&lt;br /&gt;
*RegWise has a new method for calculating forest development to a user-defined start year. The &amp;quot;pre-growth-step&amp;quot; is independent of the settings in the actual scenarios to run. This makes it possible to use exactly the same starting condition for different scenarios when the start year is not the same as the inventory year. &lt;br /&gt;
&lt;br /&gt;
*Two new thinning guides are available (see control table Treatment Model &amp;gt; Thinning Guide):&lt;br /&gt;
**One is using an up to 6-degree polynomial function to determine what basal area to trigger thinnings, and target basal area after thinning, with dominant height as power variable.  The difference with the existing thinning guide (Hugin Thinning Guide), is that the latter approximates a non-linear curve with one or two intersecting straight lines.&lt;br /&gt;
**One is based on stem density. The implementation was financed by Bergvik Skog AB. Three new control table variables are available when selecting this thinning guide:&lt;br /&gt;
***[[ControlTable_Treatment_Model#Min_Prop._Thinnable_Plots | Min Prop. Thinnable Plots]]&lt;br /&gt;
***[[ControlTable_Treatment_Model#Max_Height_Any_Thinning | Max Height Any Thinning]]&lt;br /&gt;
&lt;br /&gt;
*A parameter [[ControlTable_Treatment_Model#Min_Thinning_Grade | Min Thinning Grade]] has been added to control table Treatment Model. It determines the minimum thinning grade accepted in a thinning or selection felling. &lt;br /&gt;
&lt;br /&gt;
*The default value for [[ControlTable_Treatment_Program_Generator#Cleaning_Period_Delay_Max | Cleaning Period Delay Max]] in control table Treatment Program Generator (PlanWise and StandWise) has been changed from 2 to 0. This means that the timing of cleaning is not varied, by default, and consequently that more focus is put on varying the thinning schedule and final felling period. We have found little point in varying the timing of cleanings with respect to predicted growth and yield, the difference seems marginal. Still, the net present value can indeed be affected by the timing of the cleaning, so if the purpose of an analysis is to study the optimal time for cleaning this setting should of course be modified. &lt;br /&gt;
&lt;br /&gt;
*When editing a report template, the user can now choose a default view for the report (graph, table, or mixed).&lt;br /&gt;
&lt;br /&gt;
*In control tables, a single variable can be reset to its default value (right-click and select &amp;quot;Reset to default value&amp;quot;). Before, you could only reset the entire table.&lt;br /&gt;
&lt;br /&gt;
*Volume harvested is computed also in cleanings.&lt;br /&gt;
&lt;br /&gt;
*Handling of root extraction for bio fuel has been improved, both with respect to cost calculations and possibility to select for which species that roots and stumps can be harvested (variable [[ControlTable_Treatment_Model#Stump_Extraction | Stump Extraction]] in control table Treatment Model). Only spruce stumps are harvested by default. Instead of a fixed cost, a linear function of terrain transport distance is used, and different functions are used for [[ControlTable_Cost#Harvest_Residue_Extract._Cost | thinning]] and [[ControlTable_Cost#Harvest_Residue_Extract._Cost_2 | final felling]], and in final felling, for harvest residues and [[ControlTable_Cost#Stump_Harvest_Cost | stump]]. &lt;br /&gt;
&lt;br /&gt;
*Strip road area is proportional to tree spacing. If spacing between trees is larger than strip road width, there will be no strip road area.  &lt;br /&gt;
&lt;br /&gt;
*Volume of dead wood is now reported as &amp;quot;Downed deadwood&amp;quot;, and &amp;quot;Standing Dead Trees&amp;quot; for, yes, volume of lying and standing dead wood. Also, dead wood is reported separately for coniferous and deciduous trees.&lt;br /&gt;
&lt;br /&gt;
==Performance improvements==&lt;br /&gt;
*The treatment program generator in PlanWise is faster on multi-core processor PCs (which most PC:s are today). This has been achieved through parallellization of the program so that the computer's capacity is better utilized.&lt;br /&gt;
&lt;br /&gt;
*The evaluation of forest domains when running Tactical Treatment Program Generator has been very time consuming, but this has been fixed.&lt;br /&gt;
&lt;br /&gt;
==Bug fixes==&lt;br /&gt;
*The number of selection fellings was too few under certain conditions when applying uneven-aged management (CCF). &lt;br /&gt;
&lt;br /&gt;
*When calculating initial tree age a function is used to determine if a tree should be considered an overstorey tree. If so, a specific age function is used. For different reasons, this functionality had been removed, but is now re-implemented.  &lt;br /&gt;
*For ingrown trees, the function for uneven-aged stands is now used to compute tree age, independent of whether the stand is classified as even-aged or uneven-aged. As a consequence of this fix, ingrown trees get smaller ages, which in turn gives a larger growth than before. In an example that we ran for a spruce stand with H100 = 33 m and a mean age of 68 years, a certain ingrown tree is now 29 years, compared to 59 years before the change.&lt;br /&gt;
&lt;br /&gt;
* When adding a new &amp;quot;user defined integer set&amp;quot; to an optimization model, an error occured in the index for existing parameters due to a naming conflict. This has been corrected, so that a unique index is generated. &lt;br /&gt;
&lt;br /&gt;
* In the Timber Pricelist editor (control table Pricelist, section Prices &amp;gt; Timber), there is a setting &amp;quot;Pulpwood proportion&amp;quot; for  how many of the butt logs, middle logs, and top logs, respectively, that are downgraded to pulp. Probably, few users have changed these settings which are 10 % by default. However, changing these values have not lead not to expected results, because the value for top log and but log had been switched. This has been fixed. Also, the focus is always on the first tab (Pine) when opening the editor.&lt;br /&gt;
&lt;br /&gt;
More bug fix reports are available [https://arbetsplats.slu.se/sites/srh/heureka/Lists/Release%20notes/Default.aspx here].&lt;br /&gt;
&lt;br /&gt;
==Other stuff you should know==&lt;br /&gt;
*When using period midpoints in PlanWise strategic TPG, period 0 now refers to year 0, not year 2.5. Instead, the period midpoint for period 1 is year 2.5, and so forth. Hence, period 0 is not an actual period, but a point in time, followed by a series of 5-year periods. The problem have been that treatments applied in year 0, for example regeneration in recently clear cut stands, were not reported when using period midpoint, but now they are. Note that '''no regular harvesting''' will take place in period 0, only removal of existing seed trees and shelterwoods. This will probably affect existing optimization models, if you have restrictions that include harvesting in period 0. Add condition &amp;quot;with p &amp;gt; 0&amp;quot; when declaring such constraints, for example &lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;forall &amp;lt;p&amp;gt; in periods with p &amp;gt; 0 do &amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*A set of report templates (in Swedish!) can be downloaded from https://www.heurekaslu.se/filerepository/Rapportmallar/. See the readme-file there for instructions were to put the templates. One useful template is called Översikt (Overview), check it out!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Next release==&lt;br /&gt;
*Date is not decided...&lt;br /&gt;
*A new stand register version (2) will be released (actually PlanStart supports it but we have not documented it yet). The new version has columns for initial dead wood volume. The previous version (1) will still be supported.&lt;/div&gt;</summary>
		<author><name>Rickardw</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Ivent/sv&amp;diff=10135</id>
		<title>Ivent/sv</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Ivent/sv&amp;diff=10135"/>
		<updated>2019-12-11T14:54:26Z</updated>

		<summary type="html">&lt;p&gt;Rickardw: Replaced salix FTP links with heurekaslu equivalents.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Ivent}}&lt;br /&gt;
&lt;br /&gt;
== Systemkrav ==&lt;br /&gt;
* Handdator med Windows Mobile version 5.0 eller senare.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
# Hämta filen IventSetup_2010_xx.cab från [https://www.heurekaslu.se/filerepository/Ivent/] &lt;br /&gt;
# Anslut handdatorn (Windows Mobile) till din PC med hjälp av ActiveSync (Windows XP) eller Mobile Device Center (Windows Vista) &lt;br /&gt;
# Kopiera installationsfilen för Ivent (IventSetup_2010_xx.cab) till handdatorn.&lt;br /&gt;
# �?ppna Utforskaren på handdatorn och installera Ivent genom att dubbelklicka på filen IventSetup_xx.cab &lt;br /&gt;
# Kopiera databas-filen/filerna (från [[Inventory_design | PlanStart / Inventory]]) (.sdf) till enheten, till mappen &amp;quot;DatabasePath&amp;quot; + Undermapp. DatabasePath framgår av filen app.ini (se nedan). Under DatabasePath, som kan vara t ex C:\My Documents\Databases\, måste det finnas en underkatalog, och det är i den som du lägger sdf-filen. Du kan ha olika underkataloger för olika områden. Ex. på hur det kan se ut i handdatorns filutforskare:&lt;br /&gt;
:*Den här enheten (del av DatabasePath och är detsamma som C:)&lt;br /&gt;
:**My Documents (del av DatabasePath)&lt;br /&gt;
:*** Databases (del av DatabasePath)&lt;br /&gt;
:**** Test (underkatalog)&lt;br /&gt;
&lt;br /&gt;
Det kan vara nödvändigt att installera några ytterligare bibliotek, beroende på konfigurationen på handdatorn. Du hittar dessa komponenter här: [https://www.heurekaslu.se/filerepository/Ivent/ https://www.heurekaslu.se/filerepository/Ivent/]. Filerna &lt;br /&gt;
*: .NET Compact Framework: file NETCFv2.wce5.armv4i.cab. Troligen inte nödvändigt om du har Windows Mobile 6.0 eller senare &lt;br /&gt;
*: SQL Server Compact Edition: filen sql.ppc.wce5.armv4i.cab &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
När Ivent startas läses inställingar in från en fil som heter &amp;quot;app.ini&amp;quot; (finns i samma kat. Denna fil kan redigeras i Ivent från menyn Settings (efter vilken Ivent måste startas om!). '''Om du har kört tidigare versionen av Ivent innan du ska ta bort den gamla app.ini filen och ersätta den med någon av följande''': &lt;br /&gt;
&lt;br /&gt;
* Engelsk version: &lt;br /&gt;
*: [https://www.heurekaslu.se/filerepository/Ivent/EnglishConfigFile/ https://www.heurekaslu.se/filerepository/Ivent/EnglishConfigFile/] &lt;br /&gt;
&lt;br /&gt;
* Svensk version: &lt;br /&gt;
*: [https://www.heurekaslu.se/filerepository/Ivent/SwedishConfigFile/ https://www.heurekaslu.se/filerepository/Ivent/SwedishConfigFile/] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
När Ivent startas läser den in information från en ini-fil. Filen heter &amp;quot;app.ini&amp;quot; och ligger i samma katalog&lt;br /&gt;
som Ivent körs ifrån. Exempel på ini-filens innehåll:&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DatabasePath=\My Documents\Databases\&lt;br /&gt;
ComPort_GPS=COM9&lt;br /&gt;
ComPort_Caliper=COM8&lt;br /&gt;
&lt;br /&gt;
**ComPort_DME=COM7&lt;br /&gt;
**ComPort_HME=COM6&lt;br /&gt;
&lt;br /&gt;
PosTexNumberOfValues=3&lt;br /&gt;
PosTexMaxDiff=1.0&lt;br /&gt;
**Intervall (ms)&lt;br /&gt;
LaserTimerIntervall=1000&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Du måste eventuellt ändra portinställningarna så att de passar den mobila handenheten. TDS Nomad använder sig av två portar för Bluetooth, portarna COM8 och COM9.&lt;br /&gt;
*Om man ansluter klaven till COM8 så behöver man inte ändra i ini-filen.&lt;br /&gt;
*Om man använder en extern GPS och ansluter den till COM9 behöver man inte ändra i ini-filen.&lt;br /&gt;
*Dataklaven som används per default är en &amp;quot;Digitech Professional&amp;quot;  med programvaran &amp;quot;Digitech 11&amp;quot;. Denna har kommuncierar via Bluetooth. Det finns även stöd för Digitech Mantax, som använder sig av radiomottagare som kopplas till en traditionell serierport, som vissa handdatorer är utrustade med. Man väljer klavtyp i inställningsmenyn (kräver omstart av Ivent, precis som vid ändrings av andra inställningar i Settings-menyn).&lt;br /&gt;
&lt;br /&gt;
== Testa applikationen på en vanlig PC ==&lt;br /&gt;
Du kan testa applikationen på en vanlig PC genom att installera en emulator och på så sätt skapa en virtuell enhet. Instruktioner:&lt;br /&gt;
#Ladda ner och installera [http://www.microsoft.com/downloads/details.aspx?FamilyId=3D6F581E-C093-4B15-AB0C-A2CE5BFFDB47&amp;amp;displaylang=en Windows Mobile 6.1 Professional Images (USA).msi]&lt;br /&gt;
#Starta emulatorn via Start &amp;gt; Alla program &amp;gt; Windows Mobile 6 SDK &amp;gt; StandAlone Emulator Images &amp;gt; US English &amp;gt; WM 6.1 Professional 240 x 400&lt;br /&gt;
#I emulator-fönstret visas nu en simulerad handdator. På denna kan du installera Ivent. Börja med att skapa en koppling till din PC:s hårddisk, så att du kan kopiera över installationsfilerna: &lt;br /&gt;
##Välj File &amp;gt; Configure och fliken General&lt;br /&gt;
##Under Shared Folder så väljer du en mapp på din hårddisk, t.ex. c:\temp. Välj gärna samma mapp där du sparade IventSetup.cab och Holmen.sdf. Mappen kommer att visas i den virtuella enheten som &amp;quot;Storage Card&amp;quot;&lt;br /&gt;
##�?ppna den virtuella enhetens filutforskare (via Start &amp;gt; Programs &amp;gt; File Explorer)&lt;br /&gt;
##Under  &amp;quot;My Device&amp;quot; hittar du &amp;quot;Storage Card&amp;quot;. Dubbelklicka på IventSetup.cab. Se till att välja att installera på &amp;quot;Device&amp;quot;, inte på &amp;quot;\Storage Card&amp;quot;&lt;br /&gt;
##Skapa en ny mapp på enheten: My device &amp;gt; My documents &amp;gt; Databases &amp;gt; Holmen. Kopiera sedan filen Holmen.sdf dit från &amp;quot;Storage Card&amp;quot; (via Menu &amp;gt; Edit &amp;gt; Copy)&lt;br /&gt;
##Starta Ivent genom File &amp;gt; Programs på enheten. Det kan ta flera minuter för enheten att &amp;quot;starta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Användarmanual ==&lt;br /&gt;
&lt;br /&gt;
[[User's guide to Ivent|Användarmanual]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Rickardw</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=User%27s_guide_to_Ivent&amp;diff=10134</id>
		<title>User's guide to Ivent</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=User%27s_guide_to_Ivent&amp;diff=10134"/>
		<updated>2019-12-11T14:53:26Z</updated>

		<summary type="html">&lt;p&gt;Rickardw: Replaced salix FTP links with heurekaslu equivalents.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:User's Guides|Ivent|Ivent]]&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Ivent is an Windows Mobile application for handheld devices. It is used for field inventory of sample plot data. [[PlanStart]] is used for setting up a sample design, and export data to Ivent, and import it back and process the collected data. &lt;br /&gt;
&lt;br /&gt;
The inventory of a sample plot includes the registration of tree and site characteristics. The application can retrieve data from peripheral devices (through Bluetooth or other radio), including a digital caliper (for tree diameter measurement), a clinometer (for tree height measurement), a GPS, and a new tree positioning device ([http://www.haglofcg.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=80%3Apostex&amp;amp;catid=57%3Aproductsolutions&amp;amp;Itemid=118&amp;amp;lang=en PosTex]).&lt;br /&gt;
&lt;br /&gt;
==Main steps==&lt;br /&gt;
&lt;br /&gt;
Considerable techniqualities are involved in a field inventory. In short, a field inventory includes the following steps:&lt;br /&gt;
#[[Import of stand register | Import a stand register ]]&lt;br /&gt;
#[[Sample design | Set up a sample design]] &lt;br /&gt;
#Set up an [[Inventory | inventory and export data to a database file]]&lt;br /&gt;
#Copy the database file to the field computer&lt;br /&gt;
#:It is possible to distribute an inventory over several field crews just by distributing the same file created in the step above. PlanStart can handle this when importing back to the system.&lt;br /&gt;
#Do field inventory with Ivent&lt;br /&gt;
#Import field inventory data back to PlanStart&lt;br /&gt;
#:If you have distributed the inventory to several computers, you can import them one by one until the whole inventory is completed.&lt;br /&gt;
&lt;br /&gt;
== Field inventory instructions ==&lt;br /&gt;
&lt;br /&gt;
[[Media:Instruktion_Ivent.pdf | Instruction from 2008 (in Swedish)]] ''NB: This instruction is from field-studies made in summer '08 and has not been updated in accordance with the latest version of Ivent.'' &lt;br /&gt;
&lt;br /&gt;
[[Field inventory instruction]]&lt;br /&gt;
&lt;br /&gt;
== Settings ==&lt;br /&gt;
In Ivent's startpage you can find the menu Settings. Some of the settings are the listed below. '''After making changes, you must restart Ivent for the changes to take effect.'''&lt;br /&gt;
;DatabasePath: The path to where subfolder with database files are stored. For display only. Can only be modified by editing the app.ini file directly in a text editor.&lt;br /&gt;
;Comport GPS: Com-port for GPS. Default = 9. If you use an external GPS och connect it to COM9 then this setting should work.&lt;br /&gt;
;Comport Caliper: Com-port for caliper. Default = 8. Set to 1 if you use Mantax caliper and Archer PDA&lt;br /&gt;
You may have to edit the port settings so that they match your mobile device. TDS Nomad uses two ports for Bluetooth, ports COM8 and COM9. &lt;br /&gt;
;CaliperModel: Type av computer caliper. 0 (default) = Digitech Professional (Bluetooth), 1=Digitech Mantax (radio device connected to serial port)&lt;br /&gt;
;Species Order: Determines the order in which [[Definition:SpeciesCode | tree species codes]] are listed when entering tree codes in forms. You can change the order by selecting a species code, and move it up or down with the buttons with arrows. &lt;br /&gt;
;SampleTreeSelectionMethod: Method for selecting sample trees, that is caliper trees for which additional measurements to diameter and species are made, such as age, height and barh thickness. Systematic (default) is a modifed version of the &amp;quot;random&amp;quot; algorithm, and gives a more evenly distribution of sample trees over sample plots. Both methods are PPS-methods (probability proportional to size).&lt;br /&gt;
;CaliperCode1:The [[Definition:SpeciesCode | species code]] in Ivent that corresponds to code nr 1 on the caliper.&lt;br /&gt;
;CaliperCode2:The [[Definition:SpeciesCode | species code]] in Ivent that corresponds to code nr 2 on the caliper.&lt;br /&gt;
;...&lt;br /&gt;
;CaliperCode8:The [[Definition:SpeciesCode | species code]] in Ivent that corresponds to code nr 8 on the caliper.&lt;br /&gt;
Currently the calipers we are familiar with only support eigth species. If there are more species, you may have to edit the species code manually in Ivent after registering it with some other, temporary code.&lt;br /&gt;
&lt;br /&gt;
The settings are stored in a file called &amp;lt;code&amp;gt;app.ini&amp;lt;/code&amp;gt; which is located in the same folder as the Ivent program (normally Program\Ivent). If this file is missing, a new one is automatically created by Ivent at startup (which is good if your app.ini file is corrupt). If there is a file available, the settings are read from that file at startup. This can be utilized of you have several invenntory crews with the same equipment and setup: just distribute an proper app.ini file. &lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
*If you are upgrading from an older Ivent-version you should remove the old app.ini file and replace it with one of the following*:&lt;br /&gt;
**English version:&lt;br /&gt;
**:[https://www.heurekaslu.se/filerepository/Ivent/EnglishConfigFile/ https://www.heurekaslu.se/filerepository/Ivent/EnglishConfigFile/]&lt;br /&gt;
**Swedish version:&lt;br /&gt;
**:[https://www.heurekaslu.se/filerepository/Ivent/SwedishConfigFile/ https://www.heurekaslu.se/filerepository/Ivent/SwedishConfigFile/]&lt;br /&gt;
&lt;br /&gt;
== Entering measurement data ==&lt;br /&gt;
[[Software (and hardware) instructions | User's manual to Ivent]]&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Database|Database]]&lt;/div&gt;</summary>
		<author><name>Rickardw</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=Ivent&amp;diff=10133</id>
		<title>Ivent</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=Ivent&amp;diff=10133"/>
		<updated>2019-12-11T14:52:14Z</updated>

		<summary type="html">&lt;p&gt;Rickardw: Replaced salix FTP links with heurekaslu equivalents.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
== About Ivent ==&lt;br /&gt;
Ivent is an application to be installed on a handheld Windows Mobile device. It is used for field inventory of sample plots. The inventory of a sample plot includes the registration of tree and site characteristics. The application can retrieve data from peripheral devices (through Bluetooth (TM)), including a digital caliper (for tree diameter measurement), a clinometer (for tree height measurement), a GPS, and a new tree positioning device ([http://www.haglofcg.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=80%3Apostex&amp;amp;catid=57%3Aproductsolutions&amp;amp;Itemid=118&amp;amp;lang=en PosTex]).&lt;br /&gt;
&lt;br /&gt;
== System requirements ==&lt;br /&gt;
* Windows Mobile device with Windows Mobile 5 or later.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
* None.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
#Download IventSetup_(version).cab] from [https://www.heurekaslu.se/filerepository/Ivent/] &lt;br /&gt;
#Connect the Windows Mobile Device to your PC with ActiveSync (Windows XP) or with Mobile Device Center (Windows Vista)&lt;br /&gt;
#Copy the setup file för Ivent (IventSetup_(version).cab) to the device&lt;br /&gt;
#From within the device's Explorer, install Ivent by double-clicking on the setup file.&lt;br /&gt;
#Copy the database file created in [[Inventory_design | PlanStart / Inventory]] (.sdf) to the device, for example to folder \My Documents\Databases\XX\, where XX is s subfolder to DatabasePath which by default is set to &amp;quot;\My documents\Databases\&amp;quot; (see [[User's guide to Ivent#Settings | Ivent Settings]])&lt;br /&gt;
&lt;br /&gt;
====Troubleshooting====&lt;br /&gt;
It may be necessary to install some additional libraries, depending on the configuration on the device. You can find these components (cab-files) here: [https://www.heurekaslu.se/filerepository/Ivent/ https://www.heurekaslu.se/filerepository/Ivent/]. The files are&lt;br /&gt;
:*.NET Compact Framework: file NETCFv2.wce5.armv4i.cab. Probably not necessary if you have Windows Mobile 6.0 or later&lt;br /&gt;
:*SQL Server Compact Edition: file sql.ppc.wce5.armv4i.cab&lt;br /&gt;
&lt;br /&gt;
== User's Guide ==&lt;br /&gt;
&lt;br /&gt;
[[User's guide to Ivent]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Install]]&lt;/div&gt;</summary>
		<author><name>Rickardw</name></author>
	</entry>
	<entry>
		<id>https://www.heurekaslu.se/w/index.php?title=PlanWise_Tutorial&amp;diff=10131</id>
		<title>PlanWise Tutorial</title>
		<link rel="alternate" type="text/html" href="https://www.heurekaslu.se/w/index.php?title=PlanWise_Tutorial&amp;diff=10131"/>
		<updated>2019-12-11T14:40:40Z</updated>

		<summary type="html">&lt;p&gt;Rickardw: Replaced salix FTP links with heurekaslu equivalents.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Available only in Swedish)&lt;br /&gt;
 &lt;br /&gt;
==Om PlanVis==&lt;br /&gt;
PlanVis är ett datorprogram för att göra konsekvensanalyser och upprätta åtgärdsplaner inom skogsbruket. Analyser kan göras på heltäckande data (alla bestånd inom ett skogsinnehav) eller på ett urval (s.k. stickprovsavdelningar). Tidshorisonten kan vara alltifrån några enstaka år vid taktisk planering till mer än 100 år för avverkningsberäkningar. I PlanVis integreras indata, generering av alternativa aktiviteter, optimering och resultatredovisning. Det senare görs i form av tabeller, diagram och kartor. Vill man ha ut ytterligare resultat än de som kan tas fram direkt i PlanVis kan man göra detta utplock ur databasen. Med generering av alternativa aktiviteter menas att PlanVis kan generera ett antal olika skötselprogram för varje bestånd inom ett valt område. Ett skötselprogram är en sekvens av åtgärder, utfall och tillstånd över tiden. Som användare kan man dela in skogen i olika grupper, och skapa olika skötselinstruktioner för dessa.&lt;br /&gt;
&lt;br /&gt;
Innan du fortsätter, läs användarmanualen som finns på sidan [[User%27s_guide_to_PlanWise|User's guide to PlanWise]].&lt;br /&gt;
&lt;br /&gt;
==Upplägg av övning==&lt;br /&gt;
Första delen av övningen är en guide där du steg för steg får gå igenom grundläggande moment som installera program, skapa projekt, inspektera ingående tillstånd, skapa skogsdomäner, lära dig lite om att göra avancerade inställningar genom kontrollkategorier, skapa skötselinstruktioner (d.v.s. skötselkategorier), skapa skötselprogram, lösa optimeringsproblem samt inspektera resultat.&lt;br /&gt;
&lt;br /&gt;
Andra delen av övningen är problembaserad där du får uppgifter du själv ska lösa.&lt;br /&gt;
&lt;br /&gt;
==Installera PlanVis==&lt;br /&gt;
Installationen ska redan vara gjord på de datorer vi här använder. Annars är det bara att följa instruktionen på sidan [[PlanWise]]. &lt;br /&gt;
&lt;br /&gt;
==Skapa ett nytt projekt==&lt;br /&gt;
Se även [[:Category:Working_with_Projects | Arbeta med projekt]].&lt;br /&gt;
{{:Skapa nytt projekt}}&lt;br /&gt;
&lt;br /&gt;
==Beräkna ingående tillstånd och visa översikt==&lt;br /&gt;
En översiktlig sammanställning erhålles både i tabell-/diagramform och som karta.&lt;br /&gt;
# Välj fliken &amp;quot;Analysis Area&amp;quot;-fönstret längst till höger. Välj här &amp;quot;Landscape8&amp;quot; (eller namnet på det område/skogsinnehav som ska analyseras).&lt;br /&gt;
# I huvudfönstret finns fliken &amp;quot;Ingående tillstånd (Initial State)&amp;quot;.  Under den finns &amp;quot;Details&amp;quot;, &amp;quot;Forest Data Overview&amp;quot;, och &amp;quot;Map&amp;quot;. Klicka på knappen som hete &amp;quot;Calculate Initial State&amp;quot;...'''&lt;br /&gt;
# I fliken &amp;quot;Forest Data Overview&amp;quot; finns ett urval tillståndsvariabler, såsom medelvolym och medelålder. Denna del ska så småningom byggas ut med fler diagram och tabeller. Tills vidare, om det du söker inte finns med får du kopiera data från &amp;quot;Details&amp;quot; och göra egna diagram i t ex Excel.&lt;br /&gt;
&lt;br /&gt;
==Visa ingående tillstånd i karta==&lt;br /&gt;
Här får man prova på kartverktyget, välj menyn &amp;quot;View&amp;quot; och därunder &amp;quot;Map Page&amp;quot;. I rutan &amp;quot;Result:&amp;quot; må man välja &amp;quot;Current State&amp;quot;, figur 3 (1), om ingenting visas så klicka på &amp;quot;Fit map to window&amp;quot;, figur 3 (2).&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PlanVis_Tut_Fig3_withno.png|500px|thumb|left|Figur 3]]&lt;br /&gt;
|}&lt;br /&gt;
I fönstret &amp;quot;Map Properties&amp;quot; kan man välja en variabel att göra en temakarta för. Exempelvis för beståndens förrådsuppgifter;&lt;br /&gt;
* '''Expandera (klicka på +) &amp;quot;Forest Data&amp;quot;...'''&lt;br /&gt;
högerklicka på &amp;quot;Volume&amp;quot; och välj &amp;quot;Add Iterms Automatically&amp;quot;. Klicka på färgerna och välj förslagsvis samma kulör men olika nyanser (för min- resp. max-värde). Markera &amp;quot;Width of items in gradient&amp;quot; och värdet &amp;quot;20&amp;quot;. Detta ger en klassindelning med 20 m&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;sk/ha-intervall.&lt;br /&gt;
* '''Sedan högerklickar man på &amp;quot;Volume&amp;quot; igen och väljer &amp;quot;Show in Map&amp;quot;'''&lt;br /&gt;
Bland kartverktygen finns en rullgardin till vänster om &amp;quot;Opacity&amp;quot; där man kan välja att visa en bakgrund, t.ex. ett ortofoto eller en vägkarta, figur 3 (3). Vad som finns tillgängligt för aktuellt analysområde beror vilka bakgrundsbilder som i PlanStart importerades till databasen.&lt;br /&gt;
* '''För kartan finns också ett selekteringsverktyg, figur 3 (4)'''&lt;br /&gt;
Med det kan man välja en åtgärdsenhet och då visas i fönstret &amp;quot;Treatment Unit Properties&amp;quot; ett antal uppgifter för den valda enheten.&lt;br /&gt;
&lt;br /&gt;
==Skapa domäner och skötselgrupper==&lt;br /&gt;
Toppnivån i ett projekt är analysområdet (&amp;quot;Analysis Area&amp;quot;) som innehåller alla behandlingsenheter (&amp;quot;Treatment Units&amp;quot;) som ska analyseras. Nästa nivå utgörs av skogsdomänerna (&amp;quot;Forest Domains&amp;quot;). En skogsdomän är en grupp av behandlingsenheter (bestånd) som uppfyller ett eller flera villkor. Villkoren ställs utifrån enheternas ingående tillstånd. Användaren anger villkoren själv och skapar därmed sina egna skogsdomäner. Man kan spara definitionen för skogsdomäner som en mall (i form av en fil på hårddisken). Denna mall kan delas med andra användare. Domäntillhörigheten är statisk genom föreliggande analyser (ett bestånd kan alltså inte t.ex. &amp;quot;växa in&amp;quot; i en annan domän än den initiala under pågående planperiod).&lt;br /&gt;
&lt;br /&gt;
I början av en analys tilldelas varje behandlingsenhet en (och endast en) skogsdomän. Domänerna ställs upp i prioritetsordning och utvärderas därefter, så att den domän som står överst utvärderas först. Man kan enkelt ändra i ordningen. Om enheten inte tillhör den första domänen kontrolleras nästa domän, osv. Det finns alltså inga problem med att domäner faktiskt kan överlappa varandra. Den sista domänen är en &amp;quot;restdomän&amp;quot;. Denna har inga villkor utan inkluderar alla enheter som inte hamnat i annan domän. Det finns alltså heller inga problem med att ställda villkor &amp;quot;glappar&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
För varje skogsdomän kan man koppla särskilda skötseldirektiv genom att redigera och skapa nya kontrollkategorier (&amp;quot;Control Categories&amp;quot;). Vi kallar dessa ibland skötselkategorier. En kontrollkategori utgörs av att antal kontrolltabeller. Genom dessa styr man, bland annat, vilka åtgärder som ska simuleras och hur de ska utföras. Genom att skapa en eller flera kontrollkategorier för varje skogsdomän, kan man differentiera skötseln över de olika skogsdomänerna. ''Genom en kontrolltabell av typen &amp;quot;Treatment Program Generator&amp;quot; styr man vilka åtgärder som ska simuleras och till viss del tidpunkter för dessa. Genom en kontrolltabell av typen &amp;quot;Treatment Model&amp;quot; styr man hur åtgärderna ska simuleras (utföras).'' &lt;br /&gt;
&lt;br /&gt;
För att skapa skogsdomäner används verktyget &amp;quot;Forest Domain Builder&amp;quot;, figur 4 (1). Exempelvis kan man skapa en domän som heter &amp;quot;Äldre skiktad granskog&amp;quot; och ange villkoren som gäller för att en åtgärdsenhet ska tillhöra denna. I exemplet nedan skapar vi domäner utifrån en befintlig s.k. målklassning som fanns angivet i beståndsregistret.&lt;br /&gt;
&lt;br /&gt;
==Definiera skogsdomäner==&lt;br /&gt;
* '''Under &amp;quot;View&amp;quot; aktiveras &amp;quot;Forest Domain Builder&amp;quot;'''&lt;br /&gt;
* '''Högerklicka på &amp;quot;Other&amp;quot; och välj &amp;quot;Add Forest Domain&amp;quot; varefter dialogrutan &amp;quot;Edit Conditions&amp;quot; visas'''&lt;br /&gt;
* '''Under &amp;quot;Property&amp;quot; väljs &amp;quot;Select property...&amp;quot;'''&lt;br /&gt;
Expandera &amp;quot;StandObject Data&amp;quot; och markera &amp;quot;ManagementClass&amp;quot; (avser i detta fallet Skogsstyrelsens målklassning i s.k. Gröna skogsbruksplaner).&lt;br /&gt;
* '''Ange att &amp;quot;ManagementClass Equal&amp;quot; (under &amp;quot;Operator&amp;quot;) NO (under &amp;quot;Expression&amp;quot;)'''&lt;br /&gt;
NO står för Naturvårdsinriktning, lämnas Orört (till skillnad från NS, Naturvårdsinriktning som kräver någon form av Skötsel).&lt;br /&gt;
* '''Döp om &amp;quot;Forest Domain 1&amp;quot; till t.ex. &amp;quot;NO-skog&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Nu innehåller inte alla beståndsregister målklasser. Då får man istället utgå ifrån befintliga beståndsparametervärden. För att skapa ett skogsdomän med &amp;quot;Äldre skiktad granskog&amp;quot; skulle följande kriterier kunna gälla:&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PlanVis_Tut_Fig3b.png|500px|thumb|left|Figur 3b]]&lt;br /&gt;
|}&lt;br /&gt;
Vill du kolla hur många bestånd som hamnade i det skapade skogsdomänet högerklickar du i domänet och väljer &amp;quot;Evaluate forest domains&amp;quot; (syns i fönstret &amp;quot;Properties&amp;quot;) alt. &amp;quot;View treatmentunit assignment...&amp;quot;. Hamnade inga här får du kanske gå tillbaka och ändra kriterierna, &amp;quot;Edit conditions...&amp;quot; (i ovanstående exempel kanske sänka ålderskravet till t.ex. större än 70 år).&lt;br /&gt;
&lt;br /&gt;
I andra lägen kanske man vill skapa ett domän för specifika bestånd (som kanske identifierats i GISet som &amp;quot;bestånd angränsande till sjö med häckande storlom&amp;quot;, &amp;quot;bestånd med förvaltarens favoritpass&amp;quot;, osv.), dessa id-nummer listas då, semi-kolonseparerade, &amp;quot;in&amp;quot; &amp;quot;TreatmentUnit.Description&amp;quot;. Alla siffror, inkl. nollor, och mellanslag må med, vilket är lite bökigt. Alldeles strax tillkommer sådan funktionalitet att man i kartan kan markera (ett eller) flera bestånd och direkt hänföra dessa till ett domän.&lt;br /&gt;
&lt;br /&gt;
Minns du att det vid importen av beståndsregistret fanns ett antal kolumner på slutet av .csv-filen som hette &amp;quot;UserDefinedVariable&amp;quot;? Om man vill ta hänsyn till genomförda GIS-analyser, t.ex. bestånd helt eller delvis inom buffertzon till område med störningskänsliga arter, bör man alltså se till att sådana uppgifter medföljer redan vid dataimport. T.ex. skulle en av kolumnerna kunna bestå av värden 0 - 100%, beroende på hur stor del av beståndets yta som är inom nämnda buffertzon. Utifrån dessa uppgifter skulle sedan olika skogsdomäner, med olika skötselformer, kunna tillämpas.&lt;br /&gt;
&lt;br /&gt;
==Definiera skötselkategorier (kontrollkategorier)== &lt;br /&gt;
Välj fliken &amp;quot;Control Categories&amp;quot; (under &amp;quot;Analysis Area&amp;quot;), figur 4 (2). Om fönstret inte syns aktiverar du det via menyn &amp;quot;View&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Inspektera och ändra befintlig kontrollkategori===&lt;br /&gt;
* '''Klicka på kategorin &amp;quot;DefaultTreatmentCategory&amp;quot;'''&lt;br /&gt;
Vi låter denna motsvara traditionellt trakthyggesbruk.&lt;br /&gt;
* '''Längre ner visas fönstret &amp;quot;Properties&amp;quot;, figur 4 (3)'''&lt;br /&gt;
Om inte så aktiverar du det via menyn &amp;quot;View&amp;quot;. Du kan flytta och förstora/förminska fönster på arbetsytan.&lt;br /&gt;
* '''Varje &amp;quot;ControlCategory&amp;quot; har ett antal kontrolltabeller'''&lt;br /&gt;
Ändra i dessa för &amp;quot;DefaultTreatmentCategory&amp;quot;, figur 4 (4). Du hittar lite mer information på sidan [[Control_Categories%2C_Control_Tables%2C_and_Forest_Domains|Control Tables etc]]. Du kan dessutom se vad alla parametrarna betyder genom att markera dem och läsa hjälptexten längst ned i fönstret &amp;quot;Properties&amp;quot; (hovra med pekaren ifall inte all text syns).&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PlanVis_Tut_Fig4_withno.png|500px|thumb|left|Figur 4]]&lt;br /&gt;
|}&lt;br /&gt;
* '''Forts:'''&lt;br /&gt;
** Välj kontrolltabellen &amp;quot;Treatment Program Generator&amp;quot; (under &amp;quot;Control Categories&amp;quot;), figur 4 (4)&lt;br /&gt;
** Under &amp;quot;ManagementSystem&amp;quot; (i fönstret &amp;quot;Properties&amp;quot;) väljs &amp;quot;EvenAged&amp;quot;&lt;br /&gt;
** Sätt &amp;quot;MaxAlternatives&amp;quot; till 100&lt;br /&gt;
** &amp;quot;CCDelayMax&amp;quot; är satt till 4 vilket betyder att slutavverkningstidpunkten får skjutas upp max 4 perioder (dvs. 20 år) jämfört med lägsta tillåtna slutavverkningsålder (LSÅ enligt Skogsvårdslagen). Du kan ändra till ett annat värde om du vill. &lt;br /&gt;
** Välj sedan kontrolltabellen &amp;quot;Treatment Model&amp;quot;. Under &amp;quot;4. Thinning - model&amp;quot; och &amp;quot;4.1 Thinning – settings&amp;quot; kan du ändra t.ex:&lt;br /&gt;
*** ThinningModelType = Hugin&lt;br /&gt;
*** HarvestStriproads = True&lt;br /&gt;
*** MinDiameterThinning = 0&lt;br /&gt;
*** MaxThinningIntensity = 40&lt;br /&gt;
*** VaryThinningIntensity = True. Glöm inte att markera parametrar och läsa hjälptexterna.&lt;br /&gt;
** Välj slutligen tabellen &amp;quot;Production Model&amp;quot; och titta igenom inställningsmöjligheterna. Inget behövs här ändras emedan du alltid kan läsa hjälptexterna.&lt;br /&gt;
&lt;br /&gt;
===Lägg till ny kontrollkategori===&lt;br /&gt;
* '''Högerklicka i någon tom del i fönstret &amp;quot;Control Categories&amp;quot; och välj &amp;quot;Add Treatment Category&amp;quot;''' &lt;br /&gt;
* '''Ändra namn på den nyskapade &amp;quot;TreatmentCategory2&amp;quot; till &amp;quot;Fri utveckling&amp;quot;'''&lt;br /&gt;
* '''Högerklicka på &amp;quot;Fri utveckling&amp;quot; (i fönstret &amp;quot;Control Categories&amp;quot;) och välj &amp;quot;Edit ControlTables&amp;quot;&lt;br /&gt;
* '''Klicka på &amp;quot;Add...&amp;quot;'''&lt;br /&gt;
Håll ner Ctrl-tangenten och markera p.s.s. både &amp;quot;Production Model&amp;quot; och &amp;quot;Treatment Program Generator&amp;quot;. Klicka på &amp;quot;Ok&amp;quot;.&lt;br /&gt;
* '''Gör följande inställningar för denna kategori:'''&lt;br /&gt;
** Sätt &amp;quot;ManagementSystem&amp;quot; till &amp;quot;FreeDevelopment&amp;quot;&lt;br /&gt;
** Klicka på &amp;quot;Treatment Program Generator&amp;quot;&lt;br /&gt;
** Sätt &amp;quot;MaxAlternatives&amp;quot; till 1 (i fönstret &amp;quot;Properties&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
Valet av &amp;quot;ManagementSystem&amp;quot; avgör vilken huvudtyp av skogsbrukssätt som ska simuleras. Man man välja mellan &amp;quot;EvenAged&amp;quot; (dvs. trakthyggesbruk), &amp;quot;Continuous&amp;quot; (hyggesfritt, t.ex. blädning) och &amp;quot;FreeDevelopment&amp;quot; (fri utveckling, inga åtgärder simuleras).&lt;br /&gt;
&lt;br /&gt;
==Koppla kontrollkategori till skogsdomän==&lt;br /&gt;
* '''Högerklicka på domänen &amp;quot;NO-skog&amp;quot;'''&lt;br /&gt;
* '''Välj &amp;quot;Add control category connections&amp;quot;'''&lt;br /&gt;
* '''Välj &amp;quot;Fri utveckling&amp;quot; och klicka på &amp;quot;Ok&amp;quot;'''&lt;br /&gt;
* '''Ta bort kategorin &amp;quot;DefaultTreatmentCategory&amp;quot; från denna domän genom att markera och trycka &amp;quot;Delete&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Nu har vi angett att all skogsmark ska skötas med trakthyggesbruk, utom den NO-klassade skogen som ska lämnas orörd (till fri utveckling).&lt;br /&gt;
&lt;br /&gt;
==Beräkna prislista==&lt;br /&gt;
* '''Under menyn &amp;quot;Action&amp;quot; väljs &amp;quot;Add Pricelist...&amp;quot;'''&lt;br /&gt;
* '''Välj &amp;quot;Add Default pricelist&amp;quot;'''&lt;br /&gt;
I nästa dialog kan du se vilka apteringsgränser, priser, etc. som gäller. Längst ner står det &amp;quot;Prices&amp;quot; och &amp;quot;Timber&amp;quot; och bredvid &amp;quot;Pine;Spruce&amp;quot;. Klicka på &amp;quot;...&amp;quot; så öppnas en prislista (som är viktad, se nedan). Klicka slutligen på &amp;quot;Finish&amp;quot; och vänta tills prislistan har räknats fram. Vad som görs är att trädpriser beräknas (i kr/m&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;fub) för en mängd kombinationer av trädslag, diametrar och höjder. Värdet på ett träd beräknas sedan under en prognos genom att multiplicera det beräknade priset med trädvolymen. Varje träd får således ett slags genomsnittspris baserat på en prislista som har viktats utifrån ett genomsnittligt utfall av olika kvaliteter. Vi tar alltså inte hänsyn till kvaliteten på varje träd (vi har inte tillgång till den variabeln).&lt;br /&gt;
&lt;br /&gt;
Har du intresse av att ändra kalkylräntan kan det göras här, i rutan bredvid &amp;quot;DiscountingRate&amp;quot; anges önskat värde i procent. &lt;br /&gt;
&lt;br /&gt;
Nu är vi klara att skapa alternativa skötselprogram för varje bestånd!&lt;br /&gt;
&lt;br /&gt;
==Skapa alternativa skötselprogram för varje bestånd==&lt;br /&gt;
* '''Under menyn &amp;quot;Action&amp;quot; väljs &amp;quot;Generate Treatment Programs...&amp;quot;'''&lt;br /&gt;
Följande dialog visar de resultat som kommer att sparas. Du kan låta alla vara markerade.&lt;br /&gt;
* (Vill tyvärr fortfarande krångla, välj följande, för fortsatta analyser nödvändiga resultat;&lt;br /&gt;
** &amp;quot;Alternative summary&amp;quot;&lt;br /&gt;
** &amp;quot;Data per Species&amp;quot;&lt;br /&gt;
** &amp;quot;Financial Value&amp;quot;&lt;br /&gt;
** &amp;quot;Forest Data&amp;quot;&lt;br /&gt;
** &amp;quot;Forest Domain&amp;quot;&lt;br /&gt;
** &amp;quot;Treatments&amp;quot;.) Klicka på &amp;quot;Ok&amp;quot; och vänta (det tar några minuter). Processen kan följas längst ner i &amp;quot;Output Window&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Granska simuleringsresultaten==&lt;br /&gt;
* '''Under fliken &amp;quot;Results&amp;quot; (långt till höger) visas alla körningar'''&lt;br /&gt;
Högerklicka på den du just gjort och välj &amp;quot;View Treatment Programs&amp;quot;.&lt;br /&gt;
* '''Tabellen visar åtgärdskoder för valt bestånd (via blädder-pilarna högt upp) under en sekvens av tidsperioder (5-åriga)'''&lt;br /&gt;
Varje rad representerar ett alternativt skötselprogram för föreliggande bestånd.&lt;br /&gt;
* '''Under menyn &amp;quot;Action&amp;quot; väljs &amp;quot;View Alternative Details...&amp;quot;'''&lt;br /&gt;
Välj ett bestånd och ett alternativ som du vill titta närmare på under &amp;quot;Select alternative&amp;quot; och vilka data du vill granska under &amp;quot;Select results&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Spara projektet då och då.&lt;br /&gt;
&lt;br /&gt;
''Beakta särskilt skötselprogrammen för bestånd i de nya skogsdomänerna, t.ex. att inga åtgärder görs vid fri utveckling, att &amp;quot;överhållning&amp;quot; funkat (såtillvida att ev. slutavverkning infaller först vid en relativt hög beståndsålder) eller att det vid &amp;quot;gransanerande gallringar&amp;quot; främst sker ett uttag av granvolymer (före lövvolymer).''&lt;br /&gt;
&lt;br /&gt;
==Optimering==&lt;br /&gt;
Handledning för optimeringsverktyget finner du [[Optimization | här]].&lt;br /&gt;
&lt;br /&gt;
Nästa steg består i att med hjälp av optimering välja ut ett skötselprogramalternativ (av de många vi nyss skapade) för varje åtgärdsenhet.&lt;br /&gt;
* '''Under menyn &amp;quot;Optimization&amp;quot; väljs &amp;quot;Open Optimization&amp;quot;'''&lt;br /&gt;
* '''Välj &amp;quot;Model8b.Hops&amp;quot;'''&lt;br /&gt;
Ev. må du söka rätt på den själv, under den delade mappen &amp;quot;SH0085&amp;quot;. Här finns nu en ny version, &amp;quot;Model9c.Hops&amp;quot; som är mycket bättre (när den fungerar). För dig som kan din linjärprogrammering och även har kört Lingo eller AIMMS så kanske vissa saker känns bekanta? Man bygger upp sin optimeringsmodell genom att definiera &amp;quot;Sets&amp;quot;, &amp;quot;Parameters&amp;quot;, &amp;quot;Variables&amp;quot; och &amp;quot;Constraints&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
''Förvånad att LP används i Heureka? Som namnet antyder trodde man förvisso först att någon heuristisk metod skulle nyttjas i optimeringarna emedan LP-utvecklingen liksom kommit ikapp och nu är nästan jämsides med utvecklingen av Heureka-applikationerna (!) och häri passar riktigt bra.''&lt;br /&gt;
&lt;br /&gt;
* '''Högerklicka på &amp;quot;Model8b&amp;quot; i fönstret &amp;quot;Model Optimization Builder&amp;quot; och välj &amp;quot;Solve Model&amp;quot;'''&lt;br /&gt;
Klicka på &amp;quot;Ok&amp;quot; och vänta några minuter.&lt;br /&gt;
* '''Gör en temakarta för variabeln &amp;quot;Treatments&amp;quot; för att se vilka åtgärder som görs i de olika bestånden i olika perioder'''&lt;br /&gt;
Tag först fram fliken &amp;quot;Map&amp;quot; (ev. via menyn &amp;quot;View&amp;quot;) och välj &amp;quot;Strategic Optimization&amp;quot; i rutan bredvid &amp;quot;Result:&amp;quot; (ev. må du först trycka på &amp;quot;Refresh&amp;quot;-knappen). I fönstret &amp;quot;Map Properties&amp;quot; expanderar du &amp;quot;Treatments&amp;quot; och väljer &amp;quot;Treatment&amp;quot;. Högerklicka och välj &amp;quot;Add Items Automatically&amp;quot; så får du upp en dialogruta. Ta bort åtgärder som du inte vill visa (markera och klicka på &amp;quot;Remove&amp;quot;). Spara bara t.ex. &amp;quot;Thin(ning)&amp;quot; och &amp;quot;FinalFelling&amp;quot; och ändra färgerna på dessa. Högerklicka igen på &amp;quot;Treatment&amp;quot; och välj &amp;quot;Show in Map&amp;quot;. Högt upp i kartfönstret finns pilar för att bläddra mellan planperioderna.&lt;br /&gt;
&lt;br /&gt;
''Slutavverkas ett och samma bestånd i två på varandra följande tidsperioder? Det kan verka så emedan det eg. är fråga om delavverkning (t.ex. 75% (av beståndets yta) avverkas först, 25% under nästa 5-årsperiod). Sådant kan bli aktuellt om man har relativt få men stora bestånd (och kanske i optimeringen inkluderat ett villkor som begränsar hyggesstorleken, &amp;quot;_limitFinalFelling&amp;quot;). Ett sätt att undvika detta är att för beslutsvariabeln &amp;quot;_x&amp;quot; ändra &amp;quot;RangeType&amp;quot; till binär, alltså accepteras endast värdena 0 eller 1, optimeringen blir då emellertid svårare och kan ta rysligt lång tid.''&lt;br /&gt;
&lt;br /&gt;
==Formulering av optimeringsproblem==&lt;br /&gt;
I Heureka har vi gjort ett verktyg för att modellera och lösa LP- och MIP-problem. Som modelleringsspråk tillämpas ZIMPL. ZIMPLs User’s Guide finns på nätet (http://www.zib.de/koch/zimpl/download/zimpl.pdf) men även sparat på datorn, under &amp;quot;SH0085&amp;quot;, läs kapitel 4.2 till och med 4.5. Nedan följer sedan ett antal syntax-exempel från PlanVis.&lt;br /&gt;
&lt;br /&gt;
===Kontovariabel som summerar avverkad volym i varje tidsperiod:===&lt;br /&gt;
&amp;lt;pre&amp;gt;FORALL &amp;lt;p&amp;gt; IN _periods DO&lt;br /&gt;
        SUM&amp;lt;i,j,r&amp;gt; IN _treatmentunits * _alternatives * _rowno :&lt;br /&gt;
        _volumeHarv[i,j,p,r] * _area[i] * _x[i,j] == _volHarvTot[p];&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Definitionen skrivs in direkt i ''variabelns'' definitionsfönster, men är i egentlig mening en ''restriktion''. Restriktionen motsvarar följande matematiska uttryck (restriktion) i en LP-modell:&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PlanVis_Tut_Fig5_formula.png|left]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
där:&lt;br /&gt;
&lt;br /&gt;
''I'' = mängden (set) av behandlingsenheter (&amp;quot;Treatment Units&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
''J'' = mängden av (index) för tillgängliga skötselprogram&lt;br /&gt;
 &lt;br /&gt;
''R'' = mängden åtgärder (åtgärdsnummer) i en och samma period&lt;br /&gt;
&lt;br /&gt;
''area&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;'' = areal för behandlingsenhet ''i'' (faktisk eller &amp;quot;representativ&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
''volumeHarv&amp;lt;sub&amp;gt;ijpr&amp;lt;/sub&amp;gt;'' = avverkad volym i enhet ''i'' under period ''p'', givet att skötselprogram ''j'' tillämpas, från åtgärd ''r''&lt;br /&gt;
&lt;br /&gt;
''volHarvTot&amp;lt;sub&amp;gt;p&amp;lt;/sub&amp;gt;'' = summa avverkad volym under period ''p''&lt;br /&gt;
&lt;br /&gt;
''x&amp;lt;sub&amp;gt;ij&amp;lt;/sub&amp;gt;'' = beslutsvariabel (binär) = 1 om skötselprogram ''j'' tillämpas för enhet ''i'', annars 0&lt;br /&gt;
&lt;br /&gt;
===Kontovariabel som summerar volym som slutavverkas i varje tidsperiod:=== &lt;br /&gt;
&amp;lt;pre&amp;gt;FORALL &amp;lt;p&amp;gt; IN _periods DO&lt;br /&gt;
        SUM&amp;lt;i,j,r&amp;gt; IN _treatmentunits * _alternatives * _rowno with _treatment[i,j,p,r]==8:&lt;br /&gt;
          _volumeHarv[i,j,p,r] * _area[i] * _x[i,j] == _volHarvFinalFelledTot[p];&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skillnaden mot föregående uttryck är att efter &amp;quot;rowno&amp;quot; följer ett villkor att summering bara ska göras för slutavverkningsåtgärder (som har koden 8). Notera användningen av dubbla likhetstecken. ''För att visa definitionen av en definierad kontovariabel dubbelklickar du på den.''&lt;br /&gt;
&lt;br /&gt;
===Kontovariabel för arealen slutavverkning i varje tidsperiod:===&lt;br /&gt;
Denna variabel är nästan identisk med den föregående, vi tar bara bort parametern &amp;quot;_volumeHarv(i,j,p,r)&amp;quot; från uttrycket.&lt;br /&gt;
&amp;lt;pre&amp;gt;FORALL &amp;lt;p&amp;gt; IN _periods DO&lt;br /&gt;
        SUM&amp;lt;i,j,r&amp;gt; IN _treatmentunits * _alternatives * _rowno with _treatment[i,j,p,r]==8:&lt;br /&gt;
        _area[i] * _x[i,j] == _areaFinalFelledTot[p];&amp;lt;/pre&amp;gt;&lt;br /&gt;
''&amp;quot;8&amp;quot; i ovanstående två uttryck är alltså det numeriska värde som motsvarar slutavverkning för parametern &amp;quot;_treatment&amp;quot;. Man kan kontrollera dylikt genom att högerklicka på parametern och välja &amp;quot;View definition&amp;quot; (testa detta även för &amp;quot;_forestDomain&amp;quot; och &amp;quot;_trmtCategory&amp;quot;, särskilt bra om man skapat flera nya skogsdomäner med viss sorts skötsel definierat i kontrollkategorierna).''&lt;br /&gt;
&lt;br /&gt;
===Restriktion som begränsar hur stor areal som får slutavverkas i varje tidsperiod:===&lt;br /&gt;
&amp;lt;pre&amp;gt;FORALL &amp;lt;p&amp;gt; IN _periods DO&lt;br /&gt;
 _areaFinalFelledTot[p] &amp;lt;= 20;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vi använder alltså den kontovariabel för slutavverkningsareal som vi skapade ovan, och lägger in restriktionen (eg. restriktionerna) att den slutavverkade arealen får vara högst 20 hektar i en och samma period. ''Om du vill inaktivera en restriktion utan att ta bort så högerklicka och välj &amp;quot;Exclude&amp;quot;.''&lt;br /&gt;
&lt;br /&gt;
===Lägga till ny parameter===&lt;br /&gt;
&amp;quot;Sets&amp;quot; och &amp;quot;Parameters&amp;quot; utgör indata till optimeringsmodellen. En parameter får sitt värde antingen genom att koppla den till resultatdata som har beräknats av skötselprogramgeneratorn eller genom att ge den en matematisk definition. ''Blanda inte ihop &amp;quot;variabler&amp;quot; som beräknas av skötselprogramgeneratorn med &amp;quot;beslutsvariabler&amp;quot; i optimeringsmodellen. För modellen är alla variabler som beräknas utanför den konstanter (dvs. element i ett &amp;quot;Set&amp;quot; eller i en &amp;quot;Parameter&amp;quot;).'' &lt;br /&gt;
&lt;br /&gt;
Så här gör man för att skapa en ny parameter och koppla den till resultatdata:&lt;br /&gt;
* Högerklicka på &amp;quot;Parameters&amp;quot; och välj &amp;quot;Add new parameter&amp;quot;&lt;br /&gt;
Har du gått vilse bland alla fönster så under menyn &amp;quot;View&amp;quot; väljs &amp;quot;Model Optimization Builder&amp;quot;.&lt;br /&gt;
* Låt &amp;quot;Heureka result variable&amp;quot; vara valt och klicka på &amp;quot;Next&amp;quot;&lt;br /&gt;
Vi ska alltså i detta läge inte skriva en ny formel, utan koppla parametern direkt till en kolumn i databasen där skötselprogramalternativen har sparats.&lt;br /&gt;
* Välj t.ex. &amp;quot;TreatmentControlCategory&amp;quot; under noden &amp;quot;Forest Domain&amp;quot;&lt;br /&gt;
* Byt parameternamnet till något bättre.&lt;br /&gt;
Den nya hamnar längst ner bland alla &amp;quot;Parameters&amp;quot;. Ett bättre namn är ett som indikerar vad det handlar om, i rutan &amp;quot;Properties&amp;quot; och bredvid &amp;quot;Description&amp;quot; kan en ännu fylligare förklaring skrivas in.  &lt;br /&gt;
&lt;br /&gt;
Notera att systemet själv håller reda på indexeringen. I detta fall har vi en skötselkategori för varje behandlingsenhet, skötselprogramalternativ och period. Att vi har med period beror på att skötselkategorin kan vara olika före och efter slutavverkning (vi går inte in på detta mer i denna övning).&lt;br /&gt;
&lt;br /&gt;
===Lägga till ny restriktion===&lt;br /&gt;
* Högerklicka på &amp;quot;Constraints&amp;quot; och välj &amp;quot;Add new constraint&amp;quot;&lt;br /&gt;
* Klicka på den restriktion som har skapats.&lt;br /&gt;
I rutan &amp;quot;Properties&amp;quot; för restriktionen väljer du &amp;quot;Click to add index&amp;quot;, lägger till och väljer &amp;quot;_Periods[p]&amp;quot; för att skapa en restriktion för varje tidsperiod.&lt;br /&gt;
&lt;br /&gt;
===Exempelfiler===&lt;br /&gt;
Dessa optimeringsfiler kan du ladda ner och öppna via meny &amp;quot;Optimization&amp;quot; &amp;gt; &amp;quot;Open optimization&amp;quot;:   &lt;br /&gt;
*[https://www.heurekaslu.se/filerepository/Optimization/Model9c.Hops Model9c.Hops]&lt;br /&gt;
Nya och andra komponenter kommer att göras tillgängliga på denna ftp-server (https://www.heurekaslu.se/filerepository/Optimization/), t.ex. skript (&amp;quot;SQL queries&amp;quot;) att använda (som mall - skriv om för att få ut det du vill ha) för rapporter från resultat-databasen. Detta avser både när man vill närmre studera initialtillståndet men kanske främst planen - simulerings- och optimeringsresultatet.&lt;br /&gt;
&lt;br /&gt;
''Förbättrad funktionalitet under &amp;quot;View&amp;quot; &amp;gt; &amp;quot;Optimization Result Viewer&amp;quot; och möjligheten att här välja en simulering/optimering och sedan skapa egna diagram (under &amp;quot;Diagrams&amp;quot; &amp;gt; &amp;quot;User defined&amp;quot;) för att beakta resultaten gör ev. SQL queries överflödiga.''&lt;br /&gt;
&lt;br /&gt;
==Tillämpade övningar==&lt;br /&gt;
===Kostnad för naturvårdshänsyn===&lt;br /&gt;
Skapa skogsdomäner för alla målklasserna:&lt;br /&gt;
&lt;br /&gt;
NO = naturvårdsmål där skogen lämnas orörd&lt;br /&gt;
&lt;br /&gt;
NS = naturvårdsmål med naturvårdande skötsel&lt;br /&gt;
&lt;br /&gt;
PF = produktionsmål med förstärkt hänsyn (till natur- och kulturvärden)&lt;br /&gt;
&lt;br /&gt;
PG = produktionsmål med generell hänsyn (till natur- och kulturvärden)&lt;br /&gt;
&lt;br /&gt;
Skapa sedan lämpliga skötselkategorier för dessa och kör om &amp;quot;Generate Treatment Programs&amp;quot;. Tag också fram ett scenario där ingen hänsyn tas. Tag reda på vad kostnaden (i form av minskat nuvärde) blir för att tillämpa målklassningen, jämfört med ett uteslutande produktionsinriktat skogsbruk.&lt;br /&gt;
&lt;br /&gt;
Denna övning kan nog upplevas konstlad för de åtta bestånden i &amp;quot;Landscape8&amp;quot;, kanske inte alla olika målklasser finns representerade i beståndsregistret etc. Mer realistiskt blir det med ett större skogsinnehav, t.ex. Östad som vi kanske istället kan använda här.&lt;br /&gt;
&lt;br /&gt;
===Eget problem===&lt;br /&gt;
Lös något problem som du finner intressant, t.ex. maximera rekreationsindex eller se vad som händer med högre (eller lägre) virkespriser.&lt;br /&gt;
===Projekt Östad med Heureka===&lt;br /&gt;
Själva övningen finns på kursens hemsida (http://slunik.slu.se/kursfiler/SH0085/40032.0809/Heureka_Ovningsinstruktion.pdf).&lt;br /&gt;
&lt;br /&gt;
För att lösa uppgifterna häri kommer man långt med skogsdomänerna och inställningar i tillhörande kontrolltabeller. I en del fall må man dock in i optimeringsmodellen och definiera nya variabler och restriktioner (befintliga parametrar kan nog räcka). Att skriva egen syntax med Heurekas modelleringsspråk är det roligaste som finns. När det går bra (dvs. när syntaxen accepteras, modellen kan kompileras och lösas och man erhåller relevanta resultat). När det går dåligt är det förstås inte fullt lika roligt. Här lite tips:&lt;br /&gt;
* Du kommer kanske misslyckas några gånger,&lt;br /&gt;
se därför till att göra försöken på ett begränsat material; stratadatat (dvs. de 230 stickprovsavdelningarna) och 10 perioder så behöver man inte vänta länge på ev. felmeddelande.&lt;br /&gt;
* Snegla på (och kopiera) befintliga, liknande variabler&lt;br /&gt;
och ändra i syntaxen så det stämmer med dina syften.&lt;br /&gt;
* För jämnhetsvariabeln ''s'' (eller vad du nu valt att kalla den) är variabeln ''_volHarvTot'' troligen av vikt.&lt;br /&gt;
Tänk dock här på indexeringen; t.ex. är perioden ''p-1'' odefinierad när man är i den första perioden.&lt;br /&gt;
* Vilka värden kan variabeln ''s'' förväntas anta?&lt;br /&gt;
Om negativa värden kan förväntas så må det vara definierat i &amp;quot;Properties&amp;quot; &amp;gt; &amp;quot;RangeType&amp;quot; (förslagsvis &amp;quot;All&amp;quot;).&lt;br /&gt;
* Börja med någonting enkelt, t.ex. att virkesförrådet efter avverkning vid sista perioden inte ska understiga 140 m&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;sk/ha;&lt;br /&gt;
** Skapa en variabel som är kvoten av totalvolymen (i varje period, efter att periodens åtgärder/avverkningar genomförts) och analysområdets totala skogsmarksareal&lt;br /&gt;
** Högerklicka på &amp;quot;Variables&amp;quot; och välj &amp;quot;Add new variable&amp;quot;&lt;br /&gt;
** Ändra namnet till t.ex. &amp;quot;_volMean&amp;quot;&lt;br /&gt;
** Lägg till perioder som index (&amp;quot;Properties&amp;quot; &amp;gt; &amp;quot;Sets&amp;quot;)&lt;br /&gt;
** Skriv den ekvation som tilldelar ett värde på ''_volMean[p]'', typ;&lt;br /&gt;
&amp;lt;pre&amp;gt;FORALL &amp;lt;p&amp;gt; IN _periods DO&lt;br /&gt;
 (_volTot[p] - _volHarvTot[p]) / 3567 == _volMean[p];&amp;lt;/pre&amp;gt;&lt;br /&gt;
3567 ha är alltså den totala arealen (t.ex. via &amp;quot;Action&amp;quot; &amp;gt; &amp;quot;Forest Data Overview...&amp;quot;). På detta sätt kan man i &amp;quot;Output Window&amp;quot; se vad virkesförrådet är i samtliga perioder (inte bara i sista). Använd sen den nya variabeln i en restriktion, gör på motsvarande sätt för &amp;quot;Constraints&amp;quot; och skriv typ;&lt;br /&gt;
&amp;lt;pre&amp;gt;FORALL &amp;lt;p&amp;gt; IN _periods WITH p &amp;gt;= 9 DO&lt;br /&gt;
 _volMean[p] &amp;gt;= 140;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Här säkerställs alltså att förrådet inte understiger 140 m&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;sk/ha i sista perioden (lätt att justera ifall man vill att restriktionen ska gälla i flera perioder).&lt;br /&gt;
&lt;br /&gt;
För variabeln (och restriktionen och slutligen målfunktionen) ''s'' blir det förstås lite knöligare. Man kan förmodligen göra på många olika sätt men här är några, mer eller mindre, pedagogiska exempel:&lt;br /&gt;
* Se till att skapa en ny variabel typ ''_totNPV'' och här kopiera in målfunktionen från ''_objFunc'' (så denna kan definieras som något annat än för nuvärdesmaximering, t.ex. &amp;quot;jämnhetsmaximering&amp;quot; eller åtminstone &amp;quot;minimering av avtagande avverkade volymer&amp;quot;). På köpet får du då alltid en utskrift av analysområdets totala nuvärde (i SEK, i &amp;quot;Output Window&amp;quot;), även när målfunktionen ges en annan definition.&lt;br /&gt;
* Det går alldeles utmärkt att definiera en variabel bara genom att ge den ett namn (och ev. i &amp;quot;Properties&amp;quot;, under &amp;quot;Constraints&amp;quot; se till att &amp;quot;Range Type&amp;quot; är &amp;quot;All&amp;quot;, om variabeln kan anta både positiva och negativa värden). Syntaxen, det matematiska uttrycket, som tilldelar variabeln sitt värde kan istället definieras i en restriktion. Vi börjar dock med ett exempel med en variabel med syntax, ''_harvDiff:''&lt;br /&gt;
&amp;lt;pre&amp;gt;FORALL &amp;lt;p&amp;gt; IN _periods WITH p &amp;gt;= 1 DO&lt;br /&gt;
 _volHarvTot[p-1] - _volHarvTot[p] == _harvDiff[p] ;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Du ser väl vad den beräknar? Lite opedagogiskt, men av stor vikt i fortsatt joxande, erhåller här en stigande avverkningsnivå ett negativt värde och vice versa, komihåg detta. Sen definierar vi en variabel utan syntax, ''_harvDiffMax''. Den erhåller istället sitt värde via den syntax som anges i restriktionen ''_minDiff:''&lt;br /&gt;
&amp;lt;pre&amp;gt;FORALL &amp;lt;p&amp;gt; IN _periods WITH p &amp;gt;= 1 DO&lt;br /&gt;
 _harvDiff[p] &amp;lt;= _harvDiffMax ;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nu blev det kanske inte lika lätt att se vad som beräknas..? Så här kan man tänka; restriktionen - att detta villkor alltid uppfylls (här i alla perioder utom i den första - period 0) är endast fallet om ''_harvDiffMax'' är det största värdet av alla förekommande värden på ''_harvDiff''. Och restriktioner må ju uppfyllas om optimeringsproblemet ska erhålla en lösning. Kolla i ovanstående delar om du glömt vad ''_harvDiff'' var för något (och vad som avses med &amp;quot;störst&amp;quot; i sammanhanget).&lt;br /&gt;
&lt;br /&gt;
Sen på tur står tillskapandet av två variabler, ''Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' respektive ''Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'', som ska ingå i en målfunktion med två, sinsemellan viktade mål enligt modellen: 0.x * ''Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' - (1 - 0.x) * ''Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'' (som ska maximeras eller minimeras? och varför är det ett minustecken mellan de två delmålen? borde de inte adderas?). De två målen är här lämpligen &amp;quot;maximerat nuvärde&amp;quot; respektive &amp;quot;jämnhet&amp;quot;. Innan de två variablerna tillämpas i en och samma målfunktion må de relativiseras (endast kunna erhålla värden mellan 0 och 1) och samtidigt göras enhetslösa (de ska ju inte spela någon roll om de mäts i EURO, SEK, m&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;sk eller nånting annat) enligt modellen: ''Z&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;'' = relNPV = (''_totNPV'' - NPV&amp;lt;sub&amp;gt;min&amp;lt;/sub&amp;gt;) / (NPV&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt; - NPV&amp;lt;sub&amp;gt;min&amp;lt;/sub&amp;gt;). När du sedan ska definiera ''Z&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;'' gör du på motsvarande sätt och är särdeles observant på + och -.&lt;br /&gt;
&lt;br /&gt;
Ovanstående finns implementerat i [https://www.heurekaslu.se/filerepository/Optimization/Model9d.Hops Model9d.Hops], redo att laddas ner från ftp-servern och laddas upp i PlanVis. Sen är det rekommendabelt att du fortsätter använda din egen modell (den modifierade Model9c) för att lösa ditt optimeringsproblem, men med möjlighet att jämföra (och ev. kopiera) definitioner och formuleringar som finns i 9d. Namngivningen av variabler och restriktioner skiljer sig säkert mycket åt, kanske även definitioner och beräkningssätt. Som en kommentar till ovanstående frågor tittar vi lite närmre på målfunktionen ''_objFunc:''&lt;br /&gt;
&amp;lt;pre&amp;gt;0.5 *_NPVgoal - 0.5 * _harvDiffgoal ;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Under &amp;quot;Properties&amp;quot; &amp;gt; &amp;quot;ModelDirection&amp;quot; ser vi att denna funktion ska maximeras. Detta är uppenbart för nuvärdet ''men inte för den avtagande avverkningsnivån''. Som vi tidigare definierat denna variabel så vill vi minimera sänkningen från en period till nästa (komihåg att det är ett positivt värde - en ökning erhåller ett negativt värde och utan begränsning uppåt (utan ett &amp;quot;komplett&amp;quot; jämnhetsvillkor) kan vi lugnt minimera en sådan målfunktion). Därför subtraherar vi de två viktade delmålen, tidigare i kursen adderade ni nog de två för då skulle båda maximeras (t.ex. nuvärde och &amp;quot;renbetesmarker&amp;quot;). För övrigt valde jag inte ovanstående 50/50-viktning som referensmodell, 25/75 blev istället så här tjusigt:&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PlanVis_Tut_Fig6.png|500px|thumb|left|Figur 6]]&lt;br /&gt;
|}&lt;br /&gt;
Visst förlorades en del i nuvärde (här, med 3% kalkylränta, 115 milj. SEK, i föregående fall 143 milj. SEK) men å andra sidan är nog kassaflödet ungefär detsamma vid de båda fallen. Totala uttagsmängden, summerat över hela planperioden: 1.21 milj. m&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;sk, var här något lägre än i föregående fall så kanske kan man säga allt en del av det &amp;quot;förlorade nuvärdet&amp;quot; finns kvar i skogen (som ett något större, kvarstående virkesförråd), medelförrådet vid planperiodens slut: 157 m&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;sk/ha. Jag skyller detta resonemang helt och hållet på Ola Lindgren (vars intressanta föreläsningsmaterial också finns på kurshemsidan; http://slunik.slu.se/kursfiler/SH0085/40032.0809/Ola_Lindgren_Del1_09.pdf samt http://slunik.slu.se/kursfiler/SH0085/40032.0809/Ola_Lindgren_Del3_09.pdf). Lägg märke till uppdelningen av volymen från slutavverkning och från gallring. Det är förvisso relativt stor skillnad mellan första och sista perioden map. andelen från gallring men utan kraftiga fluktuationer under planperioden (något som skogsindustrin säkert skulle ogillat). Vi låter detta vara en överkursuppgift (att försöka få jämnhet även map. sortiment; sågtimmer-massaved-skogsbränsle).&lt;br /&gt;
&lt;br /&gt;
====Känslighetsanalyser, stratadata====&lt;br /&gt;
Olika uppgifter ska här lösas för respektive grupp. Samtliga grupper kan dock vänta med indelning i skogsdomäner, detta moment lämpar sig bättre vid heltäckande data. Använd istället kontrolltabeller för att generera skötselprogram i linje med er uppgift och/eller modifiera optimeringsmodellen. Man kanske vill begränsa gallringarna och kan då införa restriktionen ''_maxThinnProp:''&lt;br /&gt;
&amp;lt;pre&amp;gt;FORALL &amp;lt;p&amp;gt; IN _periods DO&lt;br /&gt;
 _thinnVol[p] &amp;lt;= _volHarvTot[p] * 0.3 ;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Detta har förstås föregåtts av definering av variabeln ''_thinnVol[p]'' (som i varje period beräknar differensen mellan totala volymen som avverkats och volymen som avverkats i slutavverkning). Restriktionen begränsar gallringsandelen (av volymen) till max 30% i varje period. T.ex. för att undvika de plötsligt höga andelarna i de två sista perioderna, figur 6b. Vill man införa en lägstanivå, t.ex. minst 10% gallringsvolym i varje period, rekommenderas att detta görs i en egen restriktion (istället för att försöka få med båda gränsvärdena  i en och samma). ''Observera att vår optimeringsmodell bygger på linjärprogrammering och alla modeller må vara linjära - &amp;quot;_volHarvTot&amp;quot; kan då inte vara nämnare i division med täljaren &amp;quot;_thinnVol&amp;quot; (på andra sidan &amp;lt;=) utan multipliceras upp (på båda sidor (o)likhetstecknet).''&lt;br /&gt;
&lt;br /&gt;
Om denna restriktion infördes med hänsyn till skogsindustrins önskemål om jämnhet över tiden med avseende på sortimentsutfall, ja då är ju ovanstående &amp;quot;gallringsandel&amp;quot; endast en approximation under antagande om stora mängder massaved vid gallringar (och små vid slutavverkningar). Om vi istället vill titta på andelen massaved så får vi börja med att lägga till denna parameter; högerklicka på &amp;quot;Parameters&amp;quot; och välj &amp;quot;Add new parameter...&amp;quot;, ge den ett lämpligt namn (t.ex. ''_pulpVolume'') och välj &amp;quot;Heureka result variable&amp;quot;. Sen är det bara att söka rätt på denna, under noden &amp;quot;Financial Value&amp;quot; finns &amp;quot;PulpVolumeTotal&amp;quot; (observera att &amp;quot;Total&amp;quot; här avser alla trädslag), välj och klicka &amp;quot;Finish&amp;quot;. Observera samtidigt att här finns mycket data att välja bland men endast de som valts att följa med vid skötselprogramsgenereringen kan vi använda i optimeringsmodellens variabler, restriktioner och målfunktioner. För att beräkna den mer relevanta massavedsandelen skapas en ny variabel, t.ex. ''_volHarvPulpTot:''&lt;br /&gt;
&amp;lt;pre&amp;gt;FORALL &amp;lt;p&amp;gt; IN _periods DO&lt;br /&gt;
        SUM&amp;lt;i,j,r&amp;gt; IN _treatmentunits * _alternatives * _rowno WITH _altIncluded[i,j] &amp;gt;= 1:&lt;br /&gt;
        _pulpVolume[i,j,p,r] * _area[i] * _x[i,j] * 1.2 == _volHarvPulpTot[p];&amp;lt;/pre&amp;gt;&lt;br /&gt;
Här summeras alltså avverkad volym massaved i varje period, gånger faktorn 1.2 då den är i m&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;fub och vi vill förmodligen jämföra med befintliga variabeln ''_volHarvTot'' (i m&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;sk, se denna schablon som en snabb problemlösning för att komma vidare - givetvis finns i systemet, ända ner på enskilda träd-nivån, alla förekommande sortiments volymer angivna i rätt enhet). Variabeln ''_altIncluded'' kollas vara &amp;quot;1&amp;quot; (så summeringen endast görs för de alternativa skötselprogrammen (med index ''j'') som simulerats i resp. bestånd (med index ''i'')). Man kan dock ana något fel i syntaxen (eller i hela tänket...), se tabell 1; i kolumnen &amp;quot;Gallringsandel&amp;quot; ser vi att restriktionen max 30% funkade och kapade gallringstopparna i de två sista perioderna (se även figur 6b) och dessutom fyllde luckan i period sju, bra, men visst ser värdena i kolumnen &amp;quot;Timmerandel&amp;quot; alltför låga ut? I perioder när mer än 90% av avverkade volymer kommer från slutavverkning borde väl timmerandelen vara avsevärt högre?&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PlanVis_Tut_Fig7.png|1000px|thumb|left|Tabell 1]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Känslighetsanalyser, heltäckande data====&lt;br /&gt;
För att undvika långa väntetider och överbelastning av systemet så analyseras endast Östads skifte ett (&amp;quot;Map ID = 1&amp;quot;). Dessutom minskar vi planperioden till 50 år. Då bör man erhålla ett initialtillstånd för 924 bestånd motsvarande 2332 ha skogsmark (= representativ areal) med bl.a. ett medelförråd = 167 m&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;sk/ha och en medelålder = 44.5 år. Skogen här avviker alltså avsevärt från den i stickprovsavdelningarna (stratadatat) varför en ny referenslösning nog bör tas fram, för att kunna jämföra med vid respektive grupps uppgifts resultat. ''Komihåg att välja er kalkylränta innan TPGn körs!''&lt;br /&gt;
&lt;br /&gt;
''Dessutom verkar ett av bestånden ställa till med mycket oreda; välj bort nr. 1228 ur analysområdet (som då ska bestå av 923 bestånd motsvarande 2331 ha), en medelålders NO-skog med 0 m&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;sk/ha som, trots att den lämnas utan åtgärder till fri utveckling, lyckas föra in två till perioder och förlänga planeringshorisonten med tio år (och här då många gånger föra in odefinierade variabler och orimliga värden).''  &lt;br /&gt;
&lt;br /&gt;
Granska referenslösningen innan ni går vidare (är en jämnhetsrestriktion berättigad? borde ett lägsta utgående förråd sättas? etc.) och välj lämplig optimeringsmodell.&lt;br /&gt;
&lt;br /&gt;
Uppgifterna bör sedan kunna lösas främst med indelning av analysområdet i skogsdomäner. Varje domän tilldelas sedan specifika förutsättningar via kontrolltabellerna. Det är givetvis helt ok ifall man även vill införa nya restriktioner (eller ytterligare delmål i målfunktionen) i optimeringsmodellen. Vi har ju redan nu upptäckt en brist i TPG-kontrollkategorin &amp;quot;ManagementSystem&amp;quot; där &amp;quot;Continuous&amp;quot; inte ger upphov till något nuvärde (trots att en eller flera åtgärder av typen &amp;quot;Selective felling&amp;quot; gjorts i skötselprogrammet under planperioden. Enligt uppgift ska dock volymer och kassaflöden(?) från dessa åtgärder vara medräknade).&lt;br /&gt;
&lt;br /&gt;
Övningen nämner momentet &amp;quot;zona in lämpliga områden&amp;quot; och det är kanske mest lämpligt att göra i ett GIS. GIS-delen i PlanVis är dock ännu inte fullt utbyggd. Iofs. kan du titta på analysområdet i ArcMap och nyttja dina GIT-kunskaper och kanske buffra runt sjöar och vattendrag eller beakta överlappande teman som älgpass och beståndsindelning. Vill vi ha med oss sådana uppgifter må de vara med redan vid dataimporten i PlanStart och det hinns tyvärr inte. Den GIS-zoning som hinns är isåfall att du noterar intressanta bestånd (deras ID-nummer) och låter dessa utgöra ett eget skogsdomän (tillvägagångssätt beskrivs ovan). Nu kan man lika bra zona in med hjälp av befintliga beståndsparametrar, enklast med målklasserna men heller inte särskilt krångligt med kombinationer av trädslag, ålder, etc. (tillvägagångssätt beskrivs ovan). ''Komihåg att kolla så tillräckligt många bestånd hamnade i tillskapat domän, så fortsatt särbehandling av dessa kan förväntas ha genomslag i resultaten!''&lt;br /&gt;
&lt;br /&gt;
Vill du i kartan se vilka bestånd som hamnade i vilka domäner väljer du under &amp;quot;Map Properties&amp;quot; &amp;gt; &amp;quot;Forest Domain&amp;quot; &amp;gt; &amp;quot;ForestDomain&amp;quot; med högerklick att först ta bort gammalt (&amp;quot;Remove all subitems&amp;quot;) och sen lägga till nytt; &amp;quot;Add items automatically&amp;quot;. Fortfarande bara det gamla? Se till att senaste körningen valts i rutan &amp;quot;Result:&amp;quot; (uppdatera först) och gör om.&lt;br /&gt;
&lt;br /&gt;
''Som uppgift valde jag att försöka ta fram en miljö- och rekreationsanpassad plan; höga naturvärden finns idag främst representerat på &amp;quot;Djurgården&amp;quot;, halvön strax öster om Östads gård. Djurgården är samtidigt ett populärt strövområde, för Alingsåsare likväl som för Göteborgare. NO-bestånden lämnas orörda (för fri utveckling) inom hela analysområdet emedan deras skydd förstärks på Djurgården. Det förstärkta skyddet här avses även öka områdets rekreationsvärden och uppnås genom överhållning och &amp;quot;gransanerande&amp;quot; gallringar i särskilda bestånd. De särskilda bestånden ligger i anslutning till Djurgårdens NO-bestånd och/eller har, vid planperiodens början, relativt hög andel gran. Observera att detta bara är ett exempel på möjligheterna i PlanVis men med relativt litet genomslag i föreliggande planeringsresultat; endast 77 st. NO-bestånd sköts med &amp;quot;Fri utveckling&amp;quot; och endast 18 st. bestånd sköts &amp;quot;NV-anpassat&amp;quot;. Detta exempel sänkte nuvärdet endast med 3.3% (till 58600 SEK/ha vid 4% kalkylränta). Figur 7 visar förekommande skogsdomäner på Djurgården.''&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:PlanVis_Tut_Fig7_Map.png|500px|thumb|left|Figur 7]]&lt;br /&gt;
|}&lt;br /&gt;
''Komihåg att kolla så skötselprogram genererats såsom du ville, särskilt för bestånden i dina nya skogsdomäner!''&lt;/div&gt;</summary>
		<author><name>Rickardw</name></author>
	</entry>
</feed>