Difference between revisions of "Analytica 4.0 beta Release Notes"
Line 32: | Line 32: | ||
''this section in progress'' | ''this section in progress'' | ||
− | = Optimizer = | + | == Optimizer == |
− | * A new SolverSDK.dll release from Frontline. This build upgrades to SDK 7.1 (from the previous SDK 7.0). | + | * A new SolverSDK.dll release from Frontline. This build upgrades to SDK 7.1 (from the previous SDK 7.0). |
− | * | + | * We're now using the name "Analytica Optimizer", rather than "Analytica Enterprise with Optimizer". The name on the splash screen reflects this. Also, the [[AnalyticaEdition]] system variable now contains "Optimizer", rather than "Enterprise" if you have the Optimizer edition. Note: if you have a [[User-Defined Functions|UDF]] or expression that tests for the enterprise edition (or better), you should also accept [[AnalyticaEdition]]="Optimizer". |
− | = Built-in Functions = | + | * Ability to use a nonlinear engine with [[QpDefine]]. For example, if you have non-convex constraints, the "SOCP Barrier" engine may fail, so you can use the "GRG Nonlinear" engine instead. |
+ | |||
+ | * The search control settings for [[QpDefine]] and [[NlpDefine]], specified through the ''Parameter'' and ''Setting'' attributes of [[NlpDefine]], were not taking effect previously. (They were changing the settings for the "LP/Quadratic" engine, not the engine actually used). One cool side-effect of this is: | ||
+ | ** You can now use the ''Multistart'' option with the "GRG Nonlinear" engine (with [[NlpDefine]]). When you have local minima, this option seems to be pretty effective, and often seems to be a better option (when there is continuity) than switching to "Evolutionary" engine. It is used like this (if this is the only setting changed): | ||
+ | NlpDefine( ..., parameter:"Multistart", setting:1 ) | ||
+ | |||
+ | * [[NlpDefine]] now evaluates the Obj, Lhs, Gradient, and Jacobian expressions in the current [[Evaluation Modes|Evaluation Context]], rather than always evaluating these in [[Mid]] mode as it did previously. Prior to the SetContext and Over parameter extensions to [[NlpDefine]] that are now present in 4.0, array abstraction over the Run index seemed pretty infeasible in general, but now with those extensions, it makes sense, which means you can now potentially have a single NLP in Mid mode, and a sample of NLPs in sample mode (if you structure the rest of your model appropriately). | ||
+ | |||
+ | * Several optimization examples using the "Evolutionary" engine were previously failing to terminate. That had to do with a change in Frontline's SDK 7.0 compared to their earlier SDK 4.5, in which the evolutionary engine would basically run forever until stopped. Frontline made changes in their engine for us so it would stop more reliably, and some example models were adjusted to solve better in 4.0. | ||
+ | |||
+ | == Built-in Functions == | ||
* [[ReadTextFile]] and [[WriteTextFile]] were moved from the Text Functions library to the Database library. | * [[ReadTextFile]] and [[WriteTextFile]] were moved from the Text Functions library to the Database library. | ||
Line 46: | Line 56: | ||
identifier of Va2 → "Va2" | identifier of Va2 → "Va2" | ||
identifier of (Va2) → "Va1" | identifier of (Va2) → "Va1" | ||
+ | |||
+ | * Additional part codes added to [[DatePart]], including: "DD" (two digit day, e.g., "03"), "MM" (two digit month, "09"), "YY" (two digit year), so that the fields in custom number format are basically also available in [[DatePart]]. | ||
* [[DatePart]] requires "M", "MM", "MMM", "MMMM" (month indicators) to be upper case. Lower case "m", "mm", etc., is now rejected. It is this way so that in the future, "m" and "mm" will be available for minutes. | * [[DatePart]] requires "M", "MM", "MMM", "MMMM" (month indicators) to be upper case. Lower case "m", "mm", etc., is now rejected. It is this way so that in the future, "m" and "mm" will be available for minutes. | ||
− | = Libraries and Example Models = | + | * The [[Regression]] has been improved to rescale data internally to automatically cope in a robust fashion with large data values exceeding 100M. |
+ | |||
+ | * [[Cumulate]] - Fixed a problem (a rare circumstance) where [[Cumulate]] wasn't cumulating. | ||
+ | |||
+ | == Libraries and Example Models == | ||
* [[Dens_LogNormal]] added to the Distribution Densities.ana library. | * [[Dens_LogNormal]] added to the Distribution Densities.ana library. | ||
Line 55: | Line 71: | ||
* Improved Performance Profiler library which now lists memory and CPU usage together in a single table. | * Improved Performance Profiler library which now lists memory and CPU usage together in a single table. | ||
− | = Preferences = | + | == Preferences == |
* Changed the default for the "Windows of each kind" preference from "one" to "any number". | * Changed the default for the "Windows of each kind" preference from "one" to "any number". | ||
+ | |||
+ | == GUI glitches == | ||
+ | |||
+ | * Change so that certain warnings are displayed before errors caused by the condition that led to the warning. Previously, if an error was encountered before Analytica had deduced whether a warning impacts the final result, the error, rather than the warning, displayed, which was often very confusing. Example: Bernoulli(P[I=5]), when 5 is not an element of I. Now the warning, "5 is out-of-range for I", appears before the error "non-numeric parameter to Bernoulli" (assuming you've left "Show Result Warnings" on -- which is highly recommended). | ||
+ | |||
+ | * Eliminated black rectangle that appeared in top-left corner when you clicked in an edit box of an input node. | ||
+ | |||
+ | * Ctrl-R (show result) would sometimes jump to an open result, rather than opening the result for the currently selected node. | ||
+ | |||
+ | |||
+ | == ADE == | ||
+ | |||
+ | * A few missing files for the AdeTest solution that prevented the project from building in Visual Studio 2005 have been added into the installer, so the example should now build. | ||
= Previous Beta Builds = | = Previous Beta Builds = |
Revision as of 19:40, 3 October 2007
(Back to Beta Tester Page)
These Release Notes apply to Build 4.0.0.60, 1 Oct. 2007.
Installation Notes
- Analytica 4.0 can coexist with Analytica 3.1 on the same computer. Thus, you can install Analytica 4.0 beta while retaining Analytica 3.1. After installing 4.0, a double-click on a x.ANA file will run the model in 4.0. To run a model with 3.1, start Analytica 3.1, and use the Open Model... option from the File menu to select the model.
- If you uninstall Analytica 3.0 or 3.1 after installing 4.0, it will wipe out the 4.0 registry tree. So, you will need to re-run the 4.0 installer.
- We are finding that the librares and example models are not updating when you update from a previous version. Many fixes and enhancements are found in these libraries. Until we have fixed this installer problem, we recommend that you get the latest by following these instructions:
- After you've run the newest installer to upgrade, go to Window's Control Panel → Add or Remove Programs
- Select Analytica 4.0 and press the Change/Remove button.
- Select the "Repair" option.
Upward compatibility for Models from Analytica 3.1
Most models created in Analyica 3.1 load and evaluate fine in 4.0. We hope beta testers will check that 4.0 works and gives the same results as 3.1 -- unless there is a good reason why they should be different. There are two areas where you should expect results to be different:
- Graph settings: Some Graph Setup options will not transfer to 4.0, because 4.0 offers different (and much richer) graphing options. For example, settings for axis ranges in 4.0 may attach to the Index rather than the graph. So, expect to do some tweaking of graphs -- and to enjoy the new options.
- 0*NaN and 0*INF: Analytica 4.0 supports the IEEE 754 Binary Floating Point Arithmetic standard: Thus 0*NaN or 0*INF return NaN. In 3.1, the result was zero. If your model took advantage of the old behavior to zero out NaNs or INFs, you may find NaN or Null in downstream results that were not there in 3.1. If you check Show result warnings in the Preference dialog, it will warn you if your model relies on the old behavior and help pinpoint where this occurs.
See Changes in 4.0 that could impact 3.x models for a more comprehensive list.
Not working yet
- Auto recovery does not correctly recover "Add Linked Module" actions. Some problems after "Add Module". OLE links are not re-established. In the latter two cases, saving the model after crash recovery, then reloading should fix the problem. It is best to save after adding a module or library, rather than relying on auto recovery.
Changes in 4.0.0.60
(since 4.0.0.58) this section in progress
Optimizer
- A new SolverSDK.dll release from Frontline. This build upgrades to SDK 7.1 (from the previous SDK 7.0).
- We're now using the name "Analytica Optimizer", rather than "Analytica Enterprise with Optimizer". The name on the splash screen reflects this. Also, the AnalyticaEdition system variable now contains "Optimizer", rather than "Enterprise" if you have the Optimizer edition. Note: if you have a UDF or expression that tests for the enterprise edition (or better), you should also accept AnalyticaEdition="Optimizer".
- Ability to use a nonlinear engine with QpDefine. For example, if you have non-convex constraints, the "SOCP Barrier" engine may fail, so you can use the "GRG Nonlinear" engine instead.
- The search control settings for QpDefine and NlpDefine, specified through the Parameter and Setting attributes of NlpDefine, were not taking effect previously. (They were changing the settings for the "LP/Quadratic" engine, not the engine actually used). One cool side-effect of this is:
- You can now use the Multistart option with the "GRG Nonlinear" engine (with NlpDefine). When you have local minima, this option seems to be pretty effective, and often seems to be a better option (when there is continuity) than switching to "Evolutionary" engine. It is used like this (if this is the only setting changed):
NlpDefine( ..., parameter:"Multistart", setting:1 )
- NlpDefine now evaluates the Obj, Lhs, Gradient, and Jacobian expressions in the current Evaluation Context, rather than always evaluating these in Mid mode as it did previously. Prior to the SetContext and Over parameter extensions to NlpDefine that are now present in 4.0, array abstraction over the Run index seemed pretty infeasible in general, but now with those extensions, it makes sense, which means you can now potentially have a single NLP in Mid mode, and a sample of NLPs in sample mode (if you structure the rest of your model appropriately).
- Several optimization examples using the "Evolutionary" engine were previously failing to terminate. That had to do with a change in Frontline's SDK 7.0 compared to their earlier SDK 4.5, in which the evolutionary engine would basically run forever until stopped. Frontline made changes in their engine for us so it would stop more reliably, and some example models were adjusted to solve better in 4.0.
Built-in Functions
- ReadTextFile and WriteTextFile were moved from the Text Functions library to the Database library.
- Attrib of (Obj) uses evaluation-time binding on Obj when Obj is surrounded by parentheses. The parens treat (Obj) as if it is an expression, which gets evaluated. Without parens, Attrib of Obj uses parse time binding. Hence, this difference:
Variable Va2 := Handle(Va1) identifier of Va2 → "Va2" identifier of (Va2) → "Va1"
- Additional part codes added to DatePart, including: "DD" (two digit day, e.g., "03"), "MM" (two digit month, "09"), "YY" (two digit year), so that the fields in custom number format are basically also available in DatePart.
- DatePart requires "M", "MM", "MMM", "MMMM" (month indicators) to be upper case. Lower case "m", "mm", etc., is now rejected. It is this way so that in the future, "m" and "mm" will be available for minutes.
- The Regression has been improved to rescale data internally to automatically cope in a robust fashion with large data values exceeding 100M.
Libraries and Example Models
- Dens_LogNormal added to the Distribution Densities.ana library.
- Improved Performance Profiler library which now lists memory and CPU usage together in a single table.
Preferences
- Changed the default for the "Windows of each kind" preference from "one" to "any number".
GUI glitches
- Change so that certain warnings are displayed before errors caused by the condition that led to the warning. Previously, if an error was encountered before Analytica had deduced whether a warning impacts the final result, the error, rather than the warning, displayed, which was often very confusing. Example: Bernoulli(P[I=5]), when 5 is not an element of I. Now the warning, "5 is out-of-range for I", appears before the error "non-numeric parameter to Bernoulli" (assuming you've left "Show Result Warnings" on -- which is highly recommended).
- Eliminated black rectangle that appeared in top-left corner when you clicked in an edit box of an input node.
- Ctrl-R (show result) would sometimes jump to an open result, rather than opening the result for the currently selected node.
ADE
- A few missing files for the AdeTest solution that prevented the project from building in Visual Studio 2005 have been added into the installer, so the example should now build.
Previous Beta Builds
- Analytica 4.0 beta Release Notes/4.0.0.58
- Analytica 4.0 beta Release Notes/4.0.0.56
- Analytica 4.0 beta Release Notes/4.0.0.54
- Analytica 4.0 beta Release Notes/4.0.0.53
- Analytica 4.0 beta Release Notes/4.0.0.51
- Analytica 4.0 beta Release Notes/4.0.0.50
- Analytica 4.0 beta Release Notes/4.0.0.49
- Analytica 4.0 beta Release Notes/4.0.0.47
- Analytica 4.0 beta Release Notes/4.0.0.43
- Analytica 4.0 beta Release Notes/4.0.0.42
- Analytica 4.0 beta Release Notes/4.0.0.39
- Analytica 4.0 beta Release Notes/4.0.0.38
- Analytica 4.0 beta Release Notes/4.0.0.37
- Analytica 4.0 beta Release Notes/4.0.0.34
Comments
Enable comment auto-refresher