<!doctype html public '-//W3C//DTD HTML 4.01//EN'
  'http://www.w3.org/TR/html4/strict.dtd'>
<html>
<title>Isight - Examples</title>
  <head>
	<link rel="stylesheet" href="../../../EStyle.css" type="text/css">
	<link rel="stylesheet" href="../../../ETables.css" type="text/css">
  </head>
<a href="http://www.simulia.com/products/sim_opt.html"><img src="../../../../examples/logo.gif"></a>
<h1>Exploration Component</h1>


<table>
	<th colspan=2>Approximation Loop - Airplane Sizing</th>
	<tr>
		<td>Description:</td>
		<td>This example uses Isight's Approximation Loop strategy inside the Exploration component
			to demonstrate a preliminary sizing process of a generic aircraft.  The following design variables
		       	and objectives are defined in this example:
			<ul>
			    <li>Design Variables (7):
			    <ul>
					<li>CruiseVel - the cruise velocity
					<li>FuseDia - the fuselage diameter
					<li>FuseLngth - the fuselage length
					<li>WingArea - the surface area of the wing
					<li>WingSpan - the wing span
					<li>WtFuel - the fuel weight
					<li>WtPayload - the payload weight
			    </ul>
			    <li>Objectives (3):
				<ul>
					<li>LoadedWt - the loaded weight, set as an objective to be minimized
					<li>Range - the aircraft range, set as an objective to be maximized
					<li>StallSpd - the stall speed, set as an objective to be minimized
				</ul>
			</ul>
			The Approximation Loop algorithm creates an approximation within a small region of the global
			design space and starts sub-optimization within this design space using the approximation.
			The approximation is updated with the new optimum design point after every sub-optimization.
			<p><br>
			The execution summary reported on the Summary tab of the Runtime Gateway and generic history graphs
			and tables can be used to review and explore results.
		</td>
	</tr>
	<tr>
		<td>Model:</td>
		<td><a href="ApproxLoop-AirplaneSizing.zmf">ApproxLoop-AirplaneSizing.zmf</a></td>
	</tr>
	<tr>
		<td>Illustrated components:</td>
		<td>Exploration component with Approximation Loop strategy, Simcode, Calculator</td>
	</tr>
	<tr>
		<td>Other illustrated features:</td>
		<td>Parameter groups, parallel sim-flow, sim-flow merging, sim-flow annotations.
			<p>
			<br>
			Approximation Loop Results:
			<ul>
				<li>Execution Summary Results - a summary of the Approximation Loop setup and results
			</ul>
		</td>
	</tr>
	<tr>
		<td>Simcodes needed:</td>
		<td><a href="../../simcodes/simcodes.html">aero</a>, <a href="../../simcodes/simcodes.html">performance</a>,
			<a href="../../simcodes/simcodes.html">weights</a>
		</td>
	</tr>
	<tr>
		<td>Support files needed:</td>
		<td>None</td>
	</tr>
</table>
<br>
<p>
<table>
	<th colspan=2>Approximation Loop - Noisy Polynomial</th>
	<tr>
		<td>Description:</td>
		<td>This model demonstrates the use of the Exploration component with Approximation Loop strategy
			for optimizing a noisy function. The function under investigation is a simple polynomial
			with a known optimum solution, with some numerical noise superimposed on the polynomial value.
			The advantage of using approximation based exploration is that the approximation smooths out
			the high frequency numerical noise and allows the optimizer to proceed to the optimum point
			without getting stuck in the multiple local optima. A similarly configured regular optimization
			component does not do well in the presense of the numerical noise.
			<br><br>
			To see the results of the regular optimization component on the same problem, use "Change To"
			menu and change the exploration component into Optimization. To see the effect of the relative
			size of the numerical noise, use NoiseAmplitude and NoiseFrequency parameters in the "NoisyPolynom"
			calculator component.
		</td>
	</tr>
	<tr>
		<td>Model:</td>
		<td><a href="ApproxLoop-NoisyPolynomial.zmf">ApproxLoop-NoisyPolynomial.zmf</a></td>
	</tr>
	<tr>
		<td>Illustrated components:</td>
		<td>Exploration component with Approximation Loop strategy, Calculator</td>
	</tr>
	<tr>
		<td>Other illustrated features:</td>
		<td>None</td>
	</tr>
	<tr>
		<td>Simcodes needed:</td>
		<td>None</td>
	</tr>
	<tr>
		<td>Support files needed:</td>
		<td>None</td>
	</tr>
</table>
<br>
<p>
<table>
	<th colspan=2>Approximation Loop - Multi-Objective - Noisy Polynomial</th>
	<tr>
		<td>Description:</td>
		<td>This model demonstrates the use of the Exploration component with Approximation Loop strategy
			for multi-objective optimization of three simple output functions, including a noisy function. 
			The noisy function under investigation is a simple polynomial
			with a known optimum solution, with some numerical noise superimposed on the polynomial value.
			The two additional functions are simple combinations of the input parameters, one quadratic,
			and one linear.
			<br><br>
			When the multi-objective mode is engaged in the Approximation Loop, the optimization algorithm
			is set to AMGA. Several additional advanced options related to the multi-objective optimization
			become available on the advanced options dialog. These options control how many points
			are retained from each approximate Pareto front and in which way they are selected.
			<br><br>
			The advantage of using approximation based exploration is that the approximation smooths out
			the high frequency numerical noise and allows the optimizer to proceed to the Pareto front
			without getting hampered by the function noise. A similarly configured regular optimization
			component usually does not do well in the presense of the numerical noise.
		</td>
	</tr>
	<tr>
		<td>Model:</td>
		<td><a href="ApproxLoop-MultiObj-NoisyPolynomial.zmf">ApproxLoop-MultiObj-NoisyPolynomial.zmf</a></td>
	</tr>
	<tr>
		<td>Illustrated components:</td>
		<td>Exploration component with Approximation Loop strategy, Calculator</td>
	</tr>
	<tr>
		<td>Other illustrated features:</td>
		<td>None</td>
	</tr>
	<tr>
		<td>Simcodes needed:</td>
		<td>None</td>
	</tr>
	<tr>
		<td>Support files needed:</td>
		<td>None</td>
	</tr>
</table>
<br>
<p>
<table>
	<th colspan=2>Pointer-2 - Noisy Polynomial</th>
	<tr>
		<td>Description:</td>
		<td>This model demonstrates the use of the Exploration component with Pointer-2 strategy
			for optimizing a noisy function. The function under investigation is a simple polynomial
			with a known optimum solution, with some numerical noise superimposed on the polynomial value.
			The advantage of using Pointer-2 exploration strategy is that it uses multiple optimization
			algorithms, both exploratory and numerical, and multiple starting points, to overcome the
			high frequency numerical noise and allows the optimizer to proceed to the optimum point
			without getting stuck in the multiple local optima. A similarly configured regular optimization
			component does not do well in the presense of the numerical noise.
			<p>
			To see the results of the regular optimization component on the same problem, use "Change To"
			menu and change the exploration component into Optimization. To see the effect of the relative
			size of the numerical noise, use NoiseAmplitude and NoiseFrequency parameters in the "NoisyPolynom"
			calculator component.
		</td>
	</tr>
	<tr>
		<td>Model:</td>
		<td><a href="Pointer2-NoisyPolynomial.zmf">Pointer2-NoisyPolynomial.zmf</a></td>
	</tr>
	<tr>
		<td>Illustrated components:</td>
		<td>Exploration component with Pointer-2 strategy, Calculator</td>
	</tr>
	<tr>
		<td>Other illustrated features:</td>
		<td>None</td>
	</tr>
	<tr>
		<td>Simcodes needed:</td>
		<td>None</td>
	</tr>
	<tr>
		<td>Support files needed:</td>
		<td>None</td>
	</tr>
</table>
<p>
<br>
<table>
	<th colspan=2>Pointer-2 - HookeJeeves - Noisy Polynomial</th>
	<tr>
		<td>Description:</td>
		<td>This model demonstrates the use of the Exploration component with Pointer-2 strategy
			for optimizing a noisy function. The function under investigation is a simple polynomial
			with a known optimum solution, with some numerical noise superimposed on the polynomial value.
			In this scenaior, Pointer-2 exploration strategy is configured to repeatedly execute the
			Hooke-Jeeves optimization technique. Pointer-2 calls Hooke-Jeeves repeatedly with different
			tuning parameters and from different starting points in a search for the global optimum.
            A similarly configured regular optimization component configured for a single execution of
            Hooke-Jeeves does not do as well as Pointer-2 controlling Hooke-Jeeves.
			<p>
			To see the results of the regular optimization component on the same problem, use "Change To"
			menu and change the exploration component into Optimization. To see the effect of the relative
			size of the numerical noise, use NoiseAmplitude and NoiseFrequency parameters in the "NoisyPolynom"
			calculator component.
		</td>
	</tr>
	<tr>
		<td>Model:</td>
		<td><a href="Pointer2-HookeJeeves-NoisyPolynomial.zmf">Pointer2-HookeJeeves-NoisyPolynomial.zmf</a></td>
	</tr>
	<tr>
		<td>Illustrated components:</td>
		<td>Exploration component with Pointer-2 strategy, Calculator</td>
	</tr>
	<tr>
		<td>Other illustrated features:</td>
		<td>Selecting and controlling a single optimization technique by name using Pointer-2</td>
	</tr>
	<tr>
		<td>Simcodes needed:</td>
		<td>None</td>
	</tr>
	<tr>
		<td>Support files needed:</td>
		<td>None</td>
	</tr>
</table>
<br>
<p>
<table>
	<th colspan=2>Custom Strategy - Multi-Peak Search</th>
	<tr>
		<td>Description:</td>
		<td>This model demonstrates the use of the Exploration component with Custom strategy
			for optimizing a multi-modal function. The function under investigation has a range of
			alternating maxima and minima enveloped by a wide quadratic surface, yielding a peak
			of maximum height surrounded on both sides by successive valleys and peaks of lesser
			height.  The custom strategy script is configured with two MMFD plans, one configured
			to maximize, the other configured to minimize; the script first maximizes to find the
			top of the outermost 'foothill' peak, then alternately minimizes and maximizes in the
			direction of the highest peak.  It eventually finds that it has overshot the highest
			peak, at which point it stops and resets the current design point to the highest peak.
		</td>
	</tr>
	<tr>
		<td>Model:</td>
		<td><a href="CustomStrategyDemo.zmf">CustomStrategyDemo.zmf</a></td>
	</tr>
	<tr>
		<td>Illustrated components:</td>
		<td>Exploration component with Custom strategy, Calculator</td>
	</tr>
	<tr>
		<td>Other illustrated features:</td>
		<td>None</td>
	</tr>
	<tr>
		<td>Simcodes needed:</td>
		<td>None</td>
	</tr>
	<tr>
		<td>Support files needed:</td>
		<td>None</td>
	</tr>
</table>

</html>
