Some models

Special documentation

  • Lumina Licensing Bible: A comprehensive reference for Luminaries (internal Lumina people) covering all aspects of licensing.
  • Supporting materials for
    Thomas W. Keelin, Lonnie Chrisman, Sam L. Savage (2019), "Extremely accurate sums of Lognormals in closed form using Metalog distributions", submitted to the Proceedings of the 2019 Winter Simulation Conference.

How to embed an ACP model in the Wiki

How to embed an ACP model in the Wiki


Ideas for short videos

I'm thinking about a "blog series" of short 5-minute videos, each covering a single small topic related to a new 5.0 feature. This is my personal notes for some possible topics.

Using Legacy models

Topics related to backward compatibility issues, loading older models into 5.0, and recommendations for changes you might want to make to improve your models.

  • Recommendations for preference settings changes.
  • The error: The + operator or Sum function was used with a text value
  • Cannot pass a list to a repeated parameter error.

Analytica user interface

  • What do the pop-up and toolbar icons do?
  • How to draw influence diagrams
  • Navigating with the Outline window
  • Browsing built-in functions
  • Node inputs/outputs popup (since the icon for the output popup isn't obvious).

Finding stuff

  • Finding objects in your model with the Find dialog)
  • The Found set
  • Getting help in the wiki (from Analytica)
  • Expressions that find objects (meta-inference)

Creating user-interfaces in your own models

  • Entry modes (e.g., text-only controls or edit table cells)
  • Text nodes with titles
  • Using Cue text
  • Customizing the tabbing order
  • Altering node appearances (button style, label alignment, control placement, text color)
  • Hiding or disabling controls in your own UIs.
  • Custom handling of OnClick in table cells.
  • Concatenating edit tables using SubTable with IF-THEN-ELSE


  • How to resize an image
  • Manipulating images (full images, not the internals. ReadImageFile/WriteImageFile, the Pict attribute and assignment, images in tables).
  • Drawing images (canvas functions)
  • These might be accompanied by a new library.
    • Sparklines
    • Pie charts

Uncertainty and Sensitivity analysis

  • How to create a Tornado plot
  • Multichoice controls
  • What is Sobol sampling?
  • The UncertainLMH distribution
  • What distribution is my data? The Keelin distribution
  • Structuring a model to run on a subset of projects (MultiChoice indexes).

Cell-level formatting

  • How to change table cell formats, like colors, borders, fonts, and alignment. (Static - using the dialog only)
    • This might actually be split into a couple segments to keep them short
  • The basics of computed cell formats
  • Showing negative numbers in red in a table.
  • Highlighting outliers in a table
  • Creating table heat maps
  • Computed formats for row header or column header cells.
  • Computed indentations

Exporting / Importing data

  • Copy/Pasting numbers where commas are the decimal separator
  • Eliminating extra quotes when pasting data
  • Processing CSV and CSV-like data files
  • Processing JSON files
  • Reading/writing binary data files
  • The fastest way to import-export data to disk caches.
  • Regional date parsing
  • When text in data files have typos: The TextDistance function

Functions and expressions

  • How long is an index?
  • Collecting all unique values in an array
  • Reversing arrays. The how and examples of why.
  • Flattening / unflattening arrays.
  • Bit operations on integers, plus hex & binary number formats.
  • Scalar functions (UDFs) and null values


  • Analytic gradients in NLPs
  • Constraint tolerance and visualizing inequality violations


  • Working with cell defaults
  • Changing row heights and column widths

Debugging Wiki stuff

I debug Wiki stuff on this page, so you may see some unexplained randomness here.


AttributeMenuVariableOptions.png Variable

AttributeMenuModuleOptions.png Module

AttributeMenuFunctionOptions.png Function

Chapter 2.7.png

Experiment with a block below

2.  Text that appears in a block to the left of the image.

Text for a second block

Loop extension testing

Examples taken from MediaWiki docs on Looping library. Testing a template.


  • 0* 1* 2* 3* 4

callout prototyping

Chapter 2.7.png
  1. Hover over the Miles per gallon node.
Chapter 2.7.png
  1. A second annotation line!.


4.6  •  5.0  •  5.1  •  5.2  •  5.3  •  5.4  •  6.0  •  6.1  •  6.2  •  6.3  •  6.4


4.6  •  5.0  •  5.1  •  5.2

Between: Yes


Opening the Rent vs. Buy model

To begin, follow these steps.

  1. Launch Analytica: Click the Start button on the Windows taskbar. Click All ProgramsAnalytica 5.1Analytica 5.1.

{{{3}}} {{{3}}}


10 |

AnaRelease = 5.1

Release from URS=5.4

Major release=5 Major = 5

Some typeset equations to be used in an up-coming blog

[math]\displaystyle{ B_k(p)=\left\{ \begin{array}{ll} (p-0.5)^{\lfloor k/2 \rfloor} & \mbox{if } k = 0, 3, \mbox{even } k \ge 4 \\ (p-0.5)^{\lfloor k/2 \rfloor} logit(p) & \mbox{if } k=1, 2, \mbox{odd }k\ge 5 \end{array}\right. }[/math]

[math]\displaystyle{ logit(p) = \ln\left( p\over{p-1} \right) }[/math]

/KeelinGradient /JQPN Cowlick

An interesting Math Paradox

We all know that the real numbers are closed under addition, multiplication and division, right? (As long as you don't divide by zero). But I've found two ways to express any complex number as an infinite sequence of additions, multiplications and divisions of real numbers, thus contradicting the "theorem" that real numbers are closed under these operations.

Pseudo-Lemma: [math]\displaystyle{ j = 1 - {2\over{2-{2\over{2-...}}}} }[/math]


Let's verify that the pseudo-lemma holds. (I use "pseudo" because verifying that it holds isn't quite the same as proving it is true).

Rewrite the claim as

[math]\displaystyle{ j-1 = - {2\over{2-{2\over{2-...}}}} }[/math]


[math]\displaystyle{ j-1 = {{-2}\over{2+(j-1)}} = {{-2}\over{1+j}} = {{-2}\over{1+j}}{{1-j}\over{1-j}} = {{2(j-1)}\over{2}} = j-1 }[/math]
Note: Although the series is an infinite expansion involving only real numbers, the verification inserted a complex number into the arithmetic. So perhaps that is why it doesn't violate the closure of real numbers(?). But, if you accept this lemma is true, then the corollary below yields a similar paradox.

Pseudo-theorem: Any complex complex number, [math]\displaystyle{ a + b j }[/math] where [math]\displaystyle{ a }[/math] and [math]\displaystyle{ b }[/math] are real numbers, can be written as an infinite series of arithmetic operations involving only real numbers, and with no division by zero, in either of the following two ways:

[math]\displaystyle{ a + b j = a + 1 - {{b^2+1}\over{2-{{b^2+1}\over{2-...}}}} }[/math]
[math]\displaystyle{ a + bj = a + b - {2b\over{2-{2\over{2-...}}}} }[/math]

The proof of this follows easily from the pseudo-lemma.

This pseudo-theorem leads to a crazy corollary that seems to contract the vary foundations of field theory and calculus (at least it seems like that to me).

An infinite series of real numbers is real, right? In other words, the real numbers is a closed topological space. But the next paradox shows that the space of reals is not closed -- some infinite sequences of real numbers have complex limits!

Pseudo-corollary: Any complex number can be written as the limit of an infinite series of real numbers.

Proof: Use either infinite expansion shown in the pseudo-theorem. First truncate the expansion by replacing the second term in the denominator with c (a constant chosen in advance, e.g., -1). That gives you the first element in the series. For the second element, replace the second term in the second denominator with 0. Now you have the second term. Continuing in this way, you get an infinite sequence of finite expansions, each one a real number, converging (according to the above pseudo-theorem) to a complex number.

(Note: Still to do -- I need one additional step in this proof, which is to prove that you can pick c so that there is never a divide-by-zero. c=-1 works for j, so maybe that is enough.). ∎

Applying the pseudo-corollary to the imaginary number [math]\displaystyle{ j }[/math], and using the constant c=-1, the infinite series is the repeating series with a cycle period of 4:

[math]\displaystyle{ a_i = 2/3, 3/2, 4, -1, 2/3, 3/2, 4, -1, 2/3, 3/2, 4, -1, 2/3, 3/2, 4, -1, ... }[/math]

[math]\displaystyle{ \lim_{i\rarr\infty} a_i = j }[/math]

This example might suggest that my complex number series would usually be classified as non-convergent. Could this be a new type of limit? Maybe this could enlarge the space of series.

Conjecture: For any complex number, the series constructed in the manner outlined in the pseudo-corollary proof is always a repeating series with a cycle length of 4.

How are these paradox resolved? I have some ideas, but I still am not entirely sure. If you have some ideas, please share them with me.

A hyperlink