RPO_Manual

advertisement
Robust Portfolio Optimization (RPO) Demo Toolset
Pre-Requirements/Notes:
If you are using the tool through Nanohub:
please pay attention to the following notes:
- Format of input files should be input as “.xlsx”;
- RPO Sub-Tool 1 is not available at the moment for nanohub implementation.
If you are using the tool directly through Matlab:
To utilize this toolset, the user will need to install YALMIP and use MATLAB 2013b onwards.
YALMIP is a free for non-commercial/academic use modelling language for advanced modeling
and solution of convex and nonconvex optimization problems. It is implemented as a free (as in
no charge) toolbox for MATLAB. Users may download and install YALMIP, and, read terms of
use, by following instructions at:
http://users.isy.liu.se/johanl/yalmip/
Background: Modeling Portfolio as Network of Nodes
We treat the collection of systems being evaluated as a ‘portfolio’ of systems where each
system is a node on a network (existing or yet-to-be introduced). Each node has a set of generic
behaviors that, when working together, provide some SoS level capability. The individual nodes
can be thought of as ‘investment instruments’ with associated costs (requirements) and
potential payoffs (capabilities), and having an overall SoS level performance (investment
portfolio performance). This portfolio view allows tools from operations research and financial
engineering to be used to tackle the combinatorial challenges of selecting an appropriate
portfolio of systems, based on and SoS practitioner's preferences of tolerable operational risk,
cost and desired SoS level performance.
Fig. 1 - Generic node behaviors for portfolio tool
Fig.1 above shows the generic behaviors that individual nodes (systems) exhibit on the SoS
network. The idea is to model basic, aggregate systems level interactions as simple, nodal
behaviors that are applicable to a wide variety of inter-system connections. Fig.1 shows the five
most intuitive nodal interactions where:
•
Capability: Nodes have finite supply of capabilities that are limited by quantity and
number of connections.
•
Requirements: Nodes have requirements to enable inherent capabilities. Requirements
are fulfilled by receiving connections from other nodes that possess a capability to fulfill said
requirements.
•
Relay: Nodes can have the ability to relay capabilities between adjacent nodes. This can
include excess input of capabilities that are used to fulfill node requirements.
•
Bandwidth: Total amount of capabilities or number of connections between nodes are
bounded by connection bandwidth.
•
Compatibility: Nodes can only connect to other compatible nodes.
The performance of a SoS is related to the ability of the connected network of individual
systems to fulfill SoS level objectives. It is assumed that these core objectives can be at least,
approximated quantitatively. We describe 3 versions of the RPO tool (here, termed ‘sub-tools’
in the next section) that will be used, following the above logic of modeling the portfolio as a
network of nodes, to perform SoS Architectural Analysis.
Description of RPO Tools
This section briefly illustrates tool features for the RPO toolset. There are three sub-tools
available within the RPO toolset – each sub-tool solves a different focus of the robust portfolio
optimization option.
A brief description of each RPO sub-tool is given here:
RPO Sub-Tool 1: Robust Portfolio: Capability vs. Uncertain Development
Solves the robust optimization problem of selecting different ‘portfolios’ of systems where the
payoffs come from the collective capabilities of the optimized portfolio; this ‘payoff’ from
capabilities is balanced against the risks in estimated development and integration time(s) of
systems. Formulation of this tool includes consideration for robustness against uncertainty in
the estimated distributions of development (and integration) times.
RPO Sub-Tool 2– Robust Operational Constraints (Bertsimas-Sim)
Solves the portfolio problem but with robustness control on individual linear constraints.
Method uses Bertsimas-Sim formulation that assumes symmetric uncertainty for numerical
value of capabilities of nodes.
RPO Sub-Tool 3 – Robust Operations using Conditional Value-at-Risk (CVaR)
Solves a robust portfolio optimization problem where the capabilities (payoff) of nodes that
contribute to the overall SoS performance, uses simulation data. Outcomes of capability from
each node are a simulated set of values and results are used to mitigate downside risks.
Formulation is based on Conditional Value-at-Risk (CVaR) measure used in financial
engineering.
General Description of Input File
Inputs to the method come from an input file labelled “InputData.xlsx”. The first three
worksheets of the Excel file are used to generate the relevant optimization problem for the
Naval Warfare Scenario (NWS) demonstration problem.
Data File Inputs
Sheet 1 – Main Data File
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
System Name
GroundSystem 1
GroundSystem 2
GroundSystem 3
GroundSystem 4
GroundSystem 5
Satellite System 1
Satellite System 2
Satellite System 3
Satellite System 4
Satellite System 5
UAV-1
UAV-2
Manned Aircraft 1
Manned Aircraft 2
Manned Aircraft 3
Ship-1
Ship-2
Ship-3
Power System 1
Power System 2
Power System 3
Power System 4
Power System 5
Capabilities (Outputs)
Requirements (Inputs)
SoS CAP 1 SoS CAP 2 SoS CAP 3 Power. Comm. Req 1 Req 2 Req 3 Reg 4 Req 5
0
0
0
150
0
0
0
0
0
0
0
0
0
300
0
0
0
0
0
0
0
0
0
450
0
0
0
0
0
0
0
0
0
600
0
0
0
0
0
0
0
0
0
750
0
0
0
0
0
0
0
0
100
0
0
75
95
0
0
0
0
0
200
0
0
125
150
0
0
0
0
0
300
0
0
150
250
0
0
0
0
0
400
0
0
175
350
0
0
0
0
0
500
0
0
185
450
0
0
0
20
0
0
0
0
100
0
0
0
0
30
0
0
0
0
200
0
0
0
0
40
0
0
0
0
300
0
0
0
0
50
0
0
0
0
120
0
0
0
0
60
0
0
0
0
300
0
0
0
0
0
5
0
0
0
50
0
0
0
0
0
10
0
0
0
150
0
0
0
0
0
20
0
0
0
200
0
0
0
0
0
0
0
0
100
0
0
0
0
0
0
0
0
0
200
0
0
0
0
0
0
0
0
0
300
0
0
0
0
0
0
0
0
0
400
0
0
0
0
0
0
0
0
0
500
0
0
0
0
0
Cost
[$]
10000
20000
300000
400000
500000
500000
650000
750000
850000
900000
200000
300000
400000
450000
500000
500000
600000
700000
50000
60000
70000
80000
90000
CAP 1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Uncertain. Capabilities (+/- delta)
CAP 2
CAP 3
CAP 4
CAP 5
0
0
30
0
0
0
60
0
0
0
150
0
0
0
300
0
0
0
500
0
0
0
32
0
0
0
12
0
0
0
14.6
0
0
0
8.4
0
0
0
49
0
0
0
30
0
0
0
10.5
0
0
0
10.9
0
0
0
10.3
0
0
0
13.4
0
0
0
25
0
0
0
35
0
0
0
50
0
0
0
0
10
0
0
0
20
0
0
0
40
0
0
0
80
0
0
0
150
Columns 1-3 (SoS Level Capabilities)
These columns denote capabilities provided by each listed node towards an SoS-level objective
(for example, in a missile defense related SoS scenario, this may relate to a missile range). An
entry of zero means that the listed system does not provide the capability listed in the
corresponding column.
Columns 4-5 (Node Level Capabilities)
These columns denote capabilities provided by each listed node towards general nodal
objective (for example, in a missile defense related SoS scenario, some nodes may provide a
power and/or communication bandwidth to the SoS level nodes that have a missile capability.
Num
Links
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
An entry of zero means that the listed system does not provide the capability listed in the
corresponding column.
Columns (6-7) (Node Level Requirements)
These columns denote requirements for each listed system. For example, systems that have a
missile range capability may have requirements on amount of power needed or total
communications bandwidth needed to operate.
Columns (8-10, 12-14) Inactive
(These columns are inactive for the demo but will be used to facilitate future requirements
abilities in the workbench.)
Column 11 – Cost of each system
Lists cost (here, monetary but can be any cost in general) for each system.
Column 15-16 – Uncertainties
Here, the uncertainties in each corresponding capability is listed. The columns of 15-16
correspond to uncertainties for the numbers in columns 4 and 5 respectively, denoting
uncertainties in power and communications capabilities in each node.
Sheet 2 – System Compatibilities and Option Selection
Here, the table on the left lists compatibilities between systems listed in the main file by the
user. For example, in this provided sheet, since system 1 and system 2 cannot be selected –
there is an entry that system 1 has ‘2’ under incompatibilities. Up to 5 systems can be input as
being incompatible. Also, there is not a need for duplicative declaration of the same constraint
for system 2 – meaning, that under the system 2 row, the user does not need to re-declare that
system 2 is incompatible with system 1.
The table on the right labelled ‘Can have Options’ allows the user to select range limits based
on inequality constraints. For example, the first row in the table indicates that only one system,
from the list of systems 1 to 5, can be selected. The second row indicates that up to two
systems
can
be
selected
from
the
list
of
systems
6
to
10.
The table labelled “must select options” allows the user to select limits based on equality
constraints. For example, in this table, the user must select one system from the list of systems
ranging from systems 16 to 18.
Sheet 3 – Must have systems
System
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
(1=Yes, 0 = No)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
In this sheet, the user defines which specific systems must already be in the list of systems
selected – this is useful for defining existing systems that must already be part of the
architectures being explored. Note that this is different from the prior table description on
‘Must Select Options’ in that the declaration of selecting a system must be for specific systems.
Sheet 4 – Must have links (Inactive in this version for now)
In this sheet, declarations for various ‘must have’ connections between systems, for each type
of available capability attribute. (We deactivate this in this version of the toolset for simplicity)
Sheet 5 – Development Covariance
In this sheet, the user can define the estimated variances in development time and integration
time for each system in the list. The diagonal terms of the matrix (Mij) refer to the variance in
development time The off-diagonal terms refer to the time it takes for system (i) to be
integrated with system (j). For example, we refer to the following table snippet of Sheet 5
below:
System
1
2
3
4
5
1
0.78
0.49
0.40
0.30
0.47
2
0.49
0.93
0.28
0.54
0.38
3
0.40
0.28
0.62
0.50
0.31
4
0.30
0.54
0.50
0.68
0.34
5
0.47
0.38
0.31
0.34
1.14
6
0.40
0.61
0.46
0.64
0.47
7
0.23
0.29
0.51
0.52
0.60
Here, the M11 term takes a value of 0.78 and is the variance in time (say months) for system 1
to be developed. M12 takes a value of 0.49 and is the variance in the time it takes for system 1
and system 2 to be integrated. Notice that M21 also takes the same value as this is due to the
assumption that the time to integrate system 2 and system 1 is the same vice versa of course.
(Data in this sheet is used specifically in RPO Sub-tool 1)
Sheet 6 – Simulated Capabilities
In this sheet, the user can define the simulated outcomes of capabilities for each node in the
system, if available. Simulated outcomes are recorded as vectors where each column is the
simulated outcome for each system following some experiment/simulation.
SoS Workbench Demonstration Walk Through
In this section, we step through the demonstrative version of the workbench that utilizes each
of the sub-tools within the RPO toolset. Steps 1 – XX are common to all three sub-tools and will
involve loading the data, choosing a method (depending on analysis that needs to be
performed) and
Step 1 – Upon clicking the robust portfolio toolset from the main graphical user interface (GUI),
the user will be presented with the following main screen of the RPO demo toolset.
The user can input the name of the provided Excel file that contains prior loaded information
(filename is “InputData.xls” as shown below). (InputData.xls will contain some demonstration
data) (Note: if you are using the tool through Nanohub, please input “InputData.xlsx”; same
for all the following files)
The user should wait until the data is loaded into the GUI (takes about a minute). The data from
the Excel spreadsheet will be shown within the GUI as the following:
Step 2 – The user can then select the relevant method for analysis, based on the data input into
the Excel spreadsheet. Select the appropriate method, based on desired analysis.
**Special Menu: RPO Sub-Tool 2– Robust Operational Constraints (Bertsimas-Sim)
If selecting the Bertsimas-Sim method, note that there are 2 options for analysis; the ability to
look at 1 or 2 robust constraints simultaneously. These correspond to Columns Q and R in the
the worksheet labelled “Main Sheet” of the input excel file : InputData.xls(here, for the demo,
we restrict to two constraints of power requirements being satisfied, and power and
communications simultaneously)
The user then clicks on ‘Generate Portfolios’ to generate the relevant tradespace that utilizes
the robust optimization methodology. A “waitbar” will appear that displays the progress of the
optimizations.
The following image snapshot results consequently for each of the Sub-Tools in the toolset
when the demo input xls file is run:
Here we will show usage of the tool with the Bertsimas-Sim Sub-Tool – instructions translate
similarly for other tools.
The above image shows two graphs on the right (here, in this case, the Bertsimas-Sim subtool
based analysis). The top graph shows the SoS level performance index against level of
robustness in the Communications layer of the overall selected portfolio of systems. Each point
on the graph is a collection of systems put together that result in the corresponding level of
performance and robustness. The bottom graph shows associated cost of corresponding points
on the top graph’s frontier.
Step 3 – If a user wishes to interrogate a particular solution point, the user may click on the
following button, and select a point on the top graph. (A blinking indicator sign will activate)
Upon selecting a point, the following screen snapshot illustrates the displayed information.
Note that as a result of clicking a specific point on the top graph, the GUI will display the
solution at that point of the frontier and list the systems that, when selected to operate
together, will result in the indicated SoS performance on the graph. Additionally, the user can
display topological information of the chosen architecture point on the graph by selecting the
“View topology” button.
The topology of the architecture, based on listed constraints (here, power and communications
constraints) are subsequently shown:
Step 4 – User can repeat analysis for multiple dimension case of ‘Power and Communications’
to see the tradeoffs in robustness by simultaneously considering the power and
communications requirements being met.
The user can repeat the analysis for multi-dimensions (here, selection of power and
communications layer allows for robustness of both constraints to be viewed as a surface plot.
Current version does not permit interrogation of points on the surface (will be included under
future RT-134 version).
Future updates: This version of the portfolio tool within the SoS Analytic Workbench is
currently being developed further through a new research task of RT-134. Extensive updates to
this demonstrative version will be done, and, will include additional features to accommodate
further inputs from the user as well.
README Button: Displays disclaimer information on software use and utilization of YALMIP
toolbox as part of RPO toolset. Please read information by clicking on button.
Download