# Antenna Tower (Optimization Problem definition)

## Design variable definition

In order to proceed to the robust design optimization, it is necessary to introduce the design variables that have to be changed during the optimization procedure. These variables will be mapped to some parameters of the inner loop model, and modified by the optimization algorithm in compliance to the Constraint functions. The objective function is also directly affected by these values.

In this problem, the design variables are the cross sections of the beams, whose nominal values have been introduced in the section Antenna Tower (Inner loop model definition). In the optimization procedure, the values of the cross section will be varied in a bounded range of the nominal values +- 20%.

All the design variable are created as XdvA1, inserting the values reported in the following table.

Design variable Section Nominal value [m^2] Section lower bound [m^2] Section upper bound [m^2]
XdvA1 0.4 0.32 0.48
XdvA2 0.1 0.08 0.12
XdvA3 3.4 2.72 4.02
XdvA4 1.3 1.04 1.56
XdvA5 0.9 0.72 1.08
XdvA6 1.0 0.8 1.2

## Objective Function

The objective of this optimization is

minimize the total volume of the structure

The volume of each beam is a direct function of the section of the beams, and is returned by the Matlab script introduced in the inner loop model by the output beamVolumes.

Thus, an objective function is introduced that takes as an input the output of the Mio beamVolumes, and computes the total volume of the structure as an output. The design variables must be explicitly added as input of the objective function, even if they are not directly used in the Matlab script.

The following Matlab script is used to compute the total structure volume given the volumes of the beams. Please note that beamVolumes will be a vector with as many elements as the number of Monte Carlo simulation of the inner loop model. It should be noted that from all the samples obtained by the Monte-Carlo simulation of the inner loop model, only one value is kept and passed as output of the objective function. This is because the beam volumes are not function of the random quantities, thus they are identical for all the MC samples.

% Objective function: total volume of the structure

% =========================================================================
% COSSAN-X
% University of Innsbruck, Austria, EU
% =========================================================================

% Cycle over realizations (samples)
%% DO NOT REMOVE THIS CYCLE
for n= 1:length(Tinput)
Toutput(n).totVolume = sum(Tinput(n).beamVolumes);
Toutput(n).totVolume=Toutput(n).totVolume(1);
end


## Constraints

The constraint is defined according to a six-sigma approach as $\mu(u_{max}) - 6 \sigma(u_{max}) \le 4$

where $u_{max}$ is the maximum displacement (returned by the inner loop model in the variable maxDisp), and $\mu$ and $\sigma$ denotes the mean and standard deviation operators respectively. The constraint function will the use the output quantitiy of the inner loop, maxDisp, as an input, and return the sixSigmaConstraint as an output.

The Matlab script used to compute the sixSigmaConstraint is here shown. Please note that maxDisp will be a vector with as many elements as the number of Monte Carlo simulation of the inner loop model.

% Contraint: design-by-six-sigma constraint on the maximum displacement

% =========================================================================
% COSSAN-X
% University of Innsbruck, Austria, EU
% =========================================================================

% Cycle over realizations (samples)
%% DO NOT REMOVE THIS CYCLE
for n= 1:length(Tinput)
Toutput(n).sixSigmaConstraint = 4.0 -mean(Tinput(n).maxDisp)-6*std(Tinput(n).maxDisp);
end


## Optimization execution

Finally, the optimization problem can be defined. It is very important to specify that this optimization problem is based on an existing model, in our case the inner loop model XmodelA. Then the previously defined objective function and constraint can be added in the relevant tables by pressing the [+] button. The inputs and output tables will be automatically populated.

Then, the optimization wizard will be invoked by pressing the execute button (green circle-play button).

First of all, select "Optimization analysis" as a new analysis, and select "Robust design" and the desired optimization algorithm in the subsequent wizard page.

Then, in the next wizard page, the necessary links between inner loop problem and optimization problem are defined. Thus, it is specified that the inner loop outputs maxDisp and beamVolumes will be used as inputs by the optimization problem. Additionally, the mapping between the design variables of the optimization problem and some parameter of the inner loop model, in our case the value of the parameters identifying the beams' cross sections, is defined.

Finally the Simulation (Monte Carlo) method used to execute the inner loop model is specified (i.e., Latin Hypercube) and the relevant options of the selected simulation method and optimization algorithm are specified before the optimization is submitted.