Search Settings

Top  Previous  Next

 

The Search Settings window has multiple tabs corresponding to the different settings available for optimization. For more information about conducting optimization searches, see the section on Product Optimization Searches.

 

Objectives

 

On this tab, you can select which metric(s) should be used as the objective(s), or what the search algorithm will be trying to maximize (or minimize in the case of Cost).  When using the Grid algorithm, only a single objective may be selected.  When using Exhaustive or Genetic, multiple objectives can be selected.  To control the order in which objectives are shown in the report, see the Reporting Metrics window.  The Reporting Metrics window can also specify metrics which should be reported, but not necessarily used as objectives.

 

 

Filters

 

When performing optimization searches, it is often desirable that solutions must meet some threshold on the objective(s).  For example, solutions with a Profit less than zero could be excluded from the report.  Alternatively, a solution with a cost above a known threshold could be excluded.

 

A filter grid is provided for specifying multiple filters for including solutions that meet the criteria.  Multiple filters may be used, although two filters cannot be specified for the same objective*.  To specify a filter, select the desired objective from the drop-down in the Objective column.  The Per-unit checkbox is used when the filter should be applied to the per-unit revenue, profit or cost of any of the searched products.  When unchecked, the filter will be applied to the total revenue, profit or cost netted across all searched products (multiplied by their share values and market size).

 

*Two filters for the same objective may be specified, as long as one is per-unit.  For example, the per-unit cost of a product has its own maximum as well as a total cost across all units.

 

The Minimum and Maximum columns are used to specify the minimum or maximum threshold for the objective.  If the value meets the threshold, the solution will be kept; otherwise, it will be discarded and not reported.  Either field may be left blank if it is not applicable.

 

Finally, there is an option for limiting the number of solutions in the report.  If there are thousands of possible solutions, you may want to simplify the report by only reporting the top solutions.  If all solutions are desired, the checkbox can be unchecked.  However, it may take a long time for the report to be generated with all results.

 

 

Products Included in Objectives

 

When conducting product searches, you may specify that certain static (fixed) products should be included in the objective function (the value to be maximized, whether share, revenue, profit or utility).  For example, you may have a current product on the market that will not change, but you want to search for another product to offer, such that the profit for the existing product and the new product are maximized.  To include a static product in the objective, simply check the checkbox next to the product label.

 

 

Grid Algorithm

 

The Grid algorithm has the following setting.

 

Number of replications from random starting points (default = 5): Grid will complete multiple searches (replications) from different random starting points.  For most datasets, replications usually converge to the same solution and a single result is reported.  However, it is possible for a replication to converge to a different solution, in which case all unique solutions will be reported.

 

 

Genetic Algorithm

 

The Genetic Search algorithm is governed by a number of settings.

 

Minimum number of generations (default = 5): the minimum number of generations to search before breaking out (stopping).

 

Maximum number of generations (default = 100): the maximum number of generations to search.

 

Number of generations to stop after if no improvement (default = 5): For single-objective searches, if the single most fit member ceases to improve across this number of generations, then the algorithm breaks out and stops.  For multi-objective searches, if the hypervolume of rank order 1 solutions ceases to increase by the breakout criterion percentage (see directly below) over this number of generations, then the algorithm breaks out and stops.

 

Convergence breakout criterion (multi-objective searches) (default = 0.5%):  If the objective functions fail to improve by this amount, we stop the algorithm.  We measure improvement by computing the change in hypervolume of the rank order 1 solutions (after normalizing the objective functions) across multiple generations.  The hypervolume calculation is commonly used in evolutionary multi-objective search algorithms.  We use the HSO (Hypervolume by Slicing Objectives) algorithm as described by While et al. (2006), "A Faster Algorithm for Calculating Hypervolume" (accessed 2/21/2018 at http://ro.ecu.edu.au/cgi/viewcontent.cgi?article=3022&context=ecuworks).

 

Population size (default = 300): The population size represents the number of "fit" members (product configurations) retained for the next generation. Integers from 30 to 1000 are permitted.  In each generation, n/2 new solutions are generated by mating existing solutions, where n is the population size.

 

Mutation Rate (default = 0.5): This describes the probability that each "chromosome" within the product configuration will be chosen to be randomly changed, or "mutated". A value of 0.5 means that each chromosome (an attribute of the product configuration) has a 50% probability of being mutated.  A value of 0.8 means mutations will occur 80% of the time.  A value of 1.0 would indicate to mutate every chromosome each generation. Setting the value to 0 means that no mutation will occur. Values between 0.0 and 1.0 are permitted.

 

Random Seed (default: 1. Integers from 1 to 10000 may be specified.  0 indicates to use system clock): This gives you control of the random number generator used to select the initial starting products in the population and that also is used to seed the random processes involved in mating, cross-over, and mutation.  If you specify a different random seed, you will often get a different solution.

 

Use custom starting product definitions (default = false): When checked, the button labeled Starting product definitions... becomes enabled.  Using this window, starting points can be directly specified with the Add button or imported by clicking the Import from CSV... button.  When importing from a .csv (comma-separated values) file, each row corresponds to a product configuration.  The columns correspond to the searched fields of the product configuration.  If multiple products are being searched, the values for the first searched product are followed by the values for the second searched product, etc.  The static (not searched) fields of the product configuration should not be included in the file.

 

When creating the initial population, custom definitions will be included first.  If there are more custom definitions than the population size (for example, 300), then only the first 300 definitions are used.  However, it is not necessary to specify the entire population when using custom definitions.  If the population has not been filled, the remaining population will attempt to be filled with either targeted (see directly below) or random definitions.

 

Use targeted product definitions in the initial population (default = true): When checked, the software will attempt to fill the initial population with 'targeted' product definitions rather than purely random definitions.  Targeted product definitions are generated by randomly selecting respondents and running a greedy "Grid" search on the individuals' utilities to maximize the objective(s).  For more information about targeted product definitions in genetic algorithms, see the Sawtooth Software white paper entitled, "Targeted Instead of Random Initial Populations for Genetic Algorithms in Sawtooth Software’s Choice Simulator" (Orme 2018).

Page link: http://www.sawtoothsoftware.com/help/lighthouse-studio/manual/index.html?searchsettingswindow.html