|Contents||Previous Chapter||Next Chapter|
Parametric studies and multi-variable optimisation are tools that can help you reach a design point satisfying a given set of requirements. However, any analysis that relies only on such tools has limitations. The experience of the user plays a critical role in evaluating the significance of simple numerical comparisons. Aircraft synthesis and 'sizing' always involve tradeoffs and judgements that can't be quantified. Fast interactive analysis of well-chosen design points is still important, and automated solvers give useful hints rather than ultimate answers.
The simplest form of sizing exercise involves determining the MTOW ( mto-mass ) that corresponds to a target range. This is described in Chapter#09section07 . A common 'first guess' approach to sizing new planes is to combine such a range iteration with the 'constant wing loading' (W/S) and 'constant thrust/weight' (T/W) features (described in Chapter#08section10 ). This way, you will maintain field performance at a fairly constant level in terms of TOFL and LFL. You can pick typical values of W/S and T/W from similar aircraft in Piano's database, giving you a starting point for further refinements.
The 'Parametric Study' feature under the 'Study' menu is a powerful tool: It lets you set up and run arbitrary studies using any two of Piano's design parameters. Results are saved on file automatically and can be displayed directly (with optional cross-plotting) by Piano itself. Output files consist of standard text (in tab-delimited format) that can also be read by spreadsheets for post-processing purposes. These files are normally kept in the 'studies' folder.
All parametric studies use the 'current plane' (see Chapter#08section01 ) as their starting point, restoring its original status at the end of the study.
The two study parameters (labelled X and Z) are selected from menus in the study dialog (see 'Run Param. Study...'). Several outputs will be produced simultaneously during a study. Each of these can be plotted individually on the Y-axis, depending on which options you choose to 'Run' by ticking the appropriate boxes. You can study the effects of any combination of X and Z-parameters on the following Y-outputs:
Fuel vol ratio (avail./reqrd)
Required fuel capacity
Available fuel capacity
Initial Cruise Altitude
Time to I.C.A.
2nd segment gradient
Time to 'climb to...' height
OffDesign-Mission 2nd seg.grad
For simplicity, your initial choices for X and Z shown in the study menus are limited to:
Only the first four or five of these parameters are likely to be needed in most practical studies. It is easy to add any of the other Piano parameters to the list (provided they can take numeric values): Simply click the 'more parameters..' button. It should be clear however that many combinations are meaningless, or provide only secondary variations, or no variation at all (for example the roof-top-end has no effect on TOFL). Nonetheless, all choices are available.
You can type a list of values for each parameter directly into the editable text areas (separated by spaces), or you can supply the initial value, final value, and step size by clicking the 'Put...' buttons in the study dialog.
If you click the 'Design Range' option, the mto-mass of each point-design will be calculated by iteration, to match the specified design range. You must supply some search boundaries for the mto-mass in the appropriate boxes. The upper limit should be high enough to include the likely heaviest designs, but too high a value may slow down the search or cause convergence problems. Similar considerations apply to the lower limit. The default values can usually cover reasonable variations around the current design. Note that if the 'Design Range' option is active, the mto-mass is a 'fall-out' and clearly can't be one of the X or Z parameters.
This section discusses the most classical kind of parametric sizing exercise: Its aim is to determine the wing area, engine thrust, and weight of an aircraft to match a specific range, subject to certain field lengths or other restrictions.
When you first invoke the study dialog, it is already suitably set up with wing-area as the X-parameter and reference-thrust-per-engine as the Z-parameter. Tick the 'Design Range' option as explained above, to ensure that all aircraft will achieve the required range, before initiating the study. After the processing is finished, you can determine an appropriate design point by using the cross-plotting feature. The procedure is best understood by example:
Use 'Load Param. Study...' to find and load the file called 'example 100pax basic'. This contains the results of a typical study for a 100-seater plane with a fixed range of 1700 nautical miles. You will get a window entitled 'Plot Parametric Study'. Now click on any of the listed outputs, such as the MTOW or Block Fuel, to see the effects of wing-area and thrust on individual characteristics. Next, use the 'Define cross-plots...' button to select the 'T.O.F.L.' and 'V.approach' as your cross-plotted characteristics. Enter the required cross-plot values, say 5000 feet for the TOFL and 125 kts for Vapp. If you now go back and plot the MTOW or Block Fuel again, you will see your chosen values superimposed on the original plots. Looking at the MTOW picture for example, you should be able to determine from the intersection of the lines that the lightest aircraft capable of meeting the minimum requirements of 5000ft/125kts has a wing area of 960 sq.ft, thrust of 16900 lbf, and weighs 95400 lb, in approximate terms. The aircraft with the lowest Block Fuel and DOC can be derived in a similar fashion by clicking the relevant items, without the need to redefine any cross-plots.
You can pick up to five separate cross-plot characteristics, and you can supply multiple values for each (with spaces in between, e.g. 4500 5000 5500 for the TOFL) up to an overall total of ten values. However, the picture can look confusing with too many lines superimposed.
To see clear trends you need to have enough datapoints in your study, typically of the order of 8 * 8 or more values for X * Z. Processing time is affected in proportion.
Parametric study plots will sometimes show slight kinks or discontinuities. This has a variety of causes which may not be obvious, and reflects 'real' effects. For example, discontinuities in range can be due to the fact that individual point designs can pick different Flight Levels, or due to switch-overs in the climb speed schedule, or due to non-smoothed engine data. These are not a cause for concern. You may be able to eliminate most of them by specifying a fixed Flight Level and/or climb speed schedule and/or by using smoothed engine data.
Cross-plotting can be ambiguous if some of the curves are double-valued. In such cases, there may simply not be enough information to algorithmically determine the exact order in which the cross-plotted points should be connected. If this happens, you can untick the 'join dots' box.
Piano can also conduct studies around 3 parameters. This is an 'unsupported' feature, accessible via the 'Tools' (T) menu (see Chapter#13section10 ). Select 'Load...' followed by 'run 3-parameter study'. The results of a 3-D study may be saved on file but cannot be plotted. You will be asked to specify the third parameter and its values first, before being passed on to the standard 2-parameter dialog for the remaining inputs.
'Multivariable optimisation' tries to determine numerically the 'best' values for a set of design variables that will minimise a chosen objective function whilst satisfying a set of design constraints. Optimisation, despite its power, can hide several pitfalls:
By definition, optimisation presupposes a unique numerical expression for the objective function; In reality several parallel objectives (some non-quantifiable) have to be balanced through experience and judgement. Also, optimisation does not provide a 'feel' for the sensitivity of the solution to small changes in the variables, and can, if followed to the letter, result in aircraft with low performance margins or a poor growth potential.
Since multi-dimensional 'design surfaces' are highly complex and not expressible analytically, it is impossible to ever be certain that any particular solution corresponds to a global, as opposed to a local optimum. Aircraft design surfaces do indeed frequently yield local optima.
Given all this, optimisation should be seen as a useful sizing and advisory tool rather than as the ultimate arbiter in choosing the 'best' design.
[You can safely skip this section on a 'first read' of the guide].
Piano uses a directed search algorithm known as the Nelder-Mead Sequential Simplex, modified to cater for variable bounds and inequality constraints. This heuristic method is very robust as it does not rely on derivative information. It overcomes the need to provide artificially smooth mathematical surfaces which has in the past restricted the realism of many design models. It also does not require the number of objective function evaluations required by genetic algorithms. The method starts by constructing a multidimensional shape of n+1 points (the simplex) where n is the number of variables. In two dimensions, the simplex is a triangle. The objective is evaluated at all the vertices, and a new point derived by reflecting the 'worst' of the vertices through the centroid of the remaining points. Depending on the relative value of the objective at the new point, the line of reflection may be extended or shrunk and the new point relocated. It then replaces the worst vertex and the process is repeated, resulting in a varying shape that 'walks' along the n-dimensional design surface whilst shrinking or expanding as necessary.
A visual demonstration of the working principles of the optimiser (in two dimensions) is available under the Tools ('T') menu. Select 'Load..' and find the file entitled 'Opti Demo!'. Click anywhere on the contour plot of the demo surface to start the search. The optimisation has been deliberately slowed down for the purposes of clarity.
You can specify the variables for the optimisation by clicking the 'Set Variables' button in the 'Optimization' dialog (see 'Study' menu). The following parameters can be used as variables, depending on whether their corresponding boxes are ticked or not:
Only the major sizing parameters (*) are enabled at the start, and are recommended for use as optimisation variables. You could also activate the remaining parameters, but these are normally dictated by considerations that can't be optimised. Typical values for these can be taken from similar planes in the database, or from external sources. The 'optimal' t/c ratios are a question of aerofoil technology and detailed profile distribution. Taper is mostly kept in the region of .25 to .3, influenced by tip stall and aerodynamic fine-tuning in combination with twist. Flap setting is an operational decision (see Chapter#10section05 ). Sweepback is essentially predetermined by the required cruise Mach, given a level of aerofoil technology. Another early choice involves the upper and lower limits of parameters. For example, planes optimised for minimum fuel burn often opt for rather high aspect ratios (> 10), and the designer may prefer to avoid that.
Note that at least two variables must be enabled, and the mto-mass should always be one of them.
Constraints can be specified via the 'Set Constraints' button in the 'Optimization' dialog. Each enabled (ticked) constraint must be assigned a specific value, which will be either a maximum or minimum limit, as follows:
* range (in current mode) >= minimum * takeoff field length <= maximum * factored landing field <= maximum approach speed <= maximum span (incl.winglets) <= maximum time to 'climb to...' altitude <= maximum 2nd segment gradient >= minimum cruise mach >= minimum all-engines 'ceiling at...' >= minimum engine-out ceiling >= minimum * fuel vol ratio (avail/reqrd) >= minimumConstraints marked (*) are enabled initially, but you can select others as required. The range constraint is permanently enabled.
The design range is flown at the current settings of the 'Range Modes...' dialog. It is recommended that the Cruise Mach should be fixed (specified) prior to an optimisation (see Chapter#09section04 ). Although it is also possible to combine the Mach constraint shown above with a variable-Mach range mode such as '99% max SAR', this will slow down and 'tighten' the optimisation, unnecessarily restricting the freedom of the other variables.
'Fuel volume ratio' is the ratio of the available capacity to the volume of the design fuel mass (see Chapter#03section16 ). The settings used for the 'climb to..' and 'ceiling at..' constraints are taken from the corresponding dialogs ( Chapter#09section10 and Chapter#09section14 ).
At the end of an optimisation, some (but not necessarily all) of the enabled constraints will be at (or very close to) their limits. These are the 'active' constraints that dictate the sizing of the aircraft.
Note: Piano has both a minimum and a maximum limit for each constraint. One of these is a predefined value, shown in the dialog but outside the user's control.
You can choose one of the following objective functions as the target to be minimised via the 'Minimize' menu within the 'Optimization' dialog:
- Minimum MTOW
- Minimum Fuel Mass
- Minimum DOC
- Minimum Compound Function, (a weighted sum combination of the above).
Note that it is normal for the MTOW to be an objective at the same time as it is a variable. This is possible because any solution must also satisfy the range constraint.
You can assign your own 'weighting factors' for MTOW, Fuel, and DOC to define the 'Compound' objective function inside the dialog. Compound factors are arbitrary. This reflects the subjectivity implicit in any optimisation. By default, the compound factors are set to give a result 'somewhere between' minimum MTOW and minimum fuel. The DOC is ignored (factor = 0).
Before setting the compound factors, you should have a rough idea of the expected 'order of magnitude' of each individual contribution to the total sum of the function. Note that if the DOC is included, the compound objective function has ill-defined units. To give an artificial consistency, the function is arbitrarily defined with the MTOW and fuel mass always in kg, and the DOC always in US $ per trip.
The optimisation process converges when either one of the following tolerances has been satisfied:
- The Objective Tolerance. This applies when all points of the simplex reach values of the objective that agree within that tolerance. The default setting (0.1 kg or $) is suitable for small and medium-sized aircraft. You can use larger values for larger aircraft (say 1 to 5 or more). If each optimisation pass takes more than 300 or so iterations at a time, you can increase the tolerance. There is no need to be precise with this, it is an 'order of magnitude' setting.
- The Simplex Tolerance. This applies when the size of the simplex (expressed in an internal, normalised format) has shrunk to almost a point. It should normally be left at its default value of 1.0e-5.
Once the variables, constraints, and objective function have been defined, you can start the optimisation. For reference, your current plane is saved as 'opti-before' and the final result will be saved as 'opti-after'. Any older files with these names will be overwritten.
Piano's optimiser uses a multiple-pass approach. After the optimisation converges, Piano re-starts it automatically, keeping the best solution it found as one of the points in a new simplex. This helps to overcome the phenomenon of early convergence caused by the 'flatness' of design surfaces, and reduces the chance of getting 'stuck' in local minima. You can set the Number of restarts in the optimization dialog. The default value is very high (100), which effectively means that Piano simply keeps going until you stop it by clicking on the 'Interrupt optimization' button that is displayed at run time.
Depending on your patience and the capabilities of your processor, it is a good idea to allow between 10 and 20 restarts. The starting point is always the 'current' design. If the process seems to move very slowly, you may also want to stop it and try starting another optimisation from a different point. Simply assign different values to your parameters in the normal way and restart the optimiser.
For a given processing time, there is some tradeoff between the objective tolerance and the number of restarts that depends on the nature of the design surface: If the region is reasonably well-conditioned it may be best to have a fairly tight (small) tolerance and few restarts. If it is ill-conditioned, it may be wise to attempt more restarts with a fairly relaxed (high) tolerance in order to scan a wider area. No firm rules can be given as each problem domain has its own unique characteristics.
Processing power is critical to making effective use of optimisation. You can get some experience from observing the behaviour of the objective function and the fluctuations of the variables and constraints, all of which are shown in a tracing window.
The final design ('opti-after') will automatically place some reference information in the plane's 'Notes..' feature (see 'Param' menu).
You can start an optimisation from either a 'feasible' or an 'infeasible' design point. A feasible design is one that satisfies or exceeds all of the specified constraints; an infeasible design violates at least one constraint. Piano uses a weighting scheme to coerce the search out of the infeasible region.
It is conceivable that, if the starting design is too far removed from the feasible region, the search may fail. In this case you will see an extremely high value (effectively infinite) of the objective function, and some constraint(s) will not be satisfied. However, this happens very rarely, and starting from slightly 'wild' points can sometimes give you an advantage. Specifically, it is a recommended trick if you run a second optimisation with unchanged settings, but looking for a different objective function. This carries a high probability of getting 'stuck' in the original optimum, because this is also likely to have a low or near-optimum value for the second objective, misleading the optimiser. By 'kicking' the start of the optimiser to a distant point, you are increasing its initial search region and reducing the likelihood of converging back to the same optimum.
|Contents||Previous Chapter||Next Chapter|