I'm Lorry Hardt, the Global Product Marketing
Manager for Advanced Analytics.
And joining me today is Ed Hughes, the Product Manager
for SAS Optimization.
Ed, thanks for talking with me today.
ED HUGHES: Glad to be here Lorry.
LORRY HARDT: A few years ago, Harvard Business Review
had a great article on how big data and analytics have
rocketed to the top of the corporate agenda.
Organizations have moved away from just
using sophisticated algorithms as a supplement to changes
or enhancements in business processes
to being the primary source.
Ed, I would like to get your thoughts on how optimization
plays a key role in that trend as it
applies to key business decisions
and the analytics lifecycle.
ED HUGHES: Optimization is very important
because it enhances your analytics capabilities
beyond the more passive, descriptive and predictive
analytics to prescriptive analytics that
actually identify optimal courses of action.
Optimization gives you a structured, consistent,
repeatable and adaptable way to use that information
that other forms of analytics provide to evaluate and improve
your decision making.
LORRY HARDT: Optimization can provide many key benefits
for an organization.
For example, by finding smarter ways
to allocate limited resources.
Can you give an example of that in SAS?
ED HUGHES: Sure Lorry.
We completed a project with DBS Singapore, a large bank
with a network of some 1,500 ATMs.
They were looking for a more efficient and less costly way
to replenish the cash in their ATMs.
We used a combination of forecasting and optimization
to get a better grasp on the hourly demand
profile at each ATM, and to devise optimal replenishment
plans.
The optimization model runs nightly
and its recommendations virtually
eliminate cash outages at ATMs, all
while reducing replenishment trips by 14%
and saving almost $1.5 million annually.
LORRY HARDT: So that was an example of an optimization
problem with embedded network structure of nodes
and connecting links.
How does SAS Optimization help its users deal
with networked structures in data?
ED HUGHES: SAS Optimization includes an entire class
of CAS actions for analyzing network structures
and solving network-oriented optimization problems.
You can do things like identify the connecting components
of a network or solve a minimum cost network flow
problem that uses supply at some nodes
to satisfy demand at others.
It can identify paths between two specific origin
and destination nodes, between one origin
and all possible destinations, or between all possible origins
and one destination.
Here's a quick example.
In this example, we're using the new path enumeration
algorithm called from PROC OP Network in SAS Optimization.
This dataset describes the network.
For each link that connects two nodes,
it lists the node on each end of the link.
This is a directed network, so each link
originates at a from node and terminates at a to node.
The dataset also includes the weight
of each link, which we could interpret as length or cost
for example.
We want to find all paths that start at node D
and end at node A. We're going to cap
the total weight of each path at 10
so that we don't produce too many paths to deal with.
The PROC OP Network code reads in the directed network data,
selects the path enumeration algorithm,
and specifies D as the starting node and A
as the ending node for each path.
The option max link weight equals 10 limits
the total weight of each path.
Let's run this program.
We print out two output datasets,
one for the links on the paths and one for the nodes
on the paths.
The algorithm finds three paths with length 10 or lower.
The third path has the most links.
It goes from D to F, F to E, E to B, B to C,
and finally from C to A. The other output data set
lists the nodes in each path, and for the third path
it shows in order DFEBC and A. By the way,
network optimization is just one of the elements
of SAS Optimization that use the distributed computation
that SAS Viya makes possible.
Distributed optimization means you
can solve larger, more complex problems
in a reasonable amount of time.
And thanks to big data and improvements
in other analytics, optimization problems
are growing and becoming more complex.
LORRY HARDT: That's true.
One other thing.
In some practical uses of optimization,
there is a single objective.
Minimize costs, maximize profit, minimize distance traveled,
and so on.
But what if there is more than one way to measure
the value of a solution?
What can we do then?
ED HUGHES: Well, as always in SAS Optimization,
there is more than one way to meet this challenge.
Sometimes, for example, there's general agreement
on the relative importance of the different performance
metrics, and you can use that information to combine them
into one objective function.
But if there is no agreement on how the metrics stack up
against each other, then you might
want to try multi-objective optimization.
Each metric is included as a distinct objective function.
You can have as many objectives as you
like for a single problem.
When you can't decide how performance metrics compare
in importance, you're going to need several alternative
solutions to evaluate.
So in multi-objective optimization,
we look for an optimal set of solutions.
For each one, no other solution produces better values
for every objective function.
These are called nondominated solutions,
and together they form a Pareto optimal frontier.
Any solution in this set is optimal
and is an excellent choice for implementation.
One of the new features of SAS Optimization 8.2, the Local
Search Optimization or LSO solver
can handle problems with very challenging functions.
Discontinuous, nonsmooth, nondifferentiable.
And it can also perform multi-objective optimization.
In this example, we use the Local
Search Optimization or LSO solver
to execute a nonlinear optimization with two decision
variables and two objective functions.
We want to minimize both objective functions.
We call the LSO solver from PROC OP Model in SAS Optimization.
Here are the two non-linear objective functions,
each of which sums to squared terms.
This problem has no constraints except for the bounds
on the decision variables.
We specify solve with LSO, and we also
specify objective F1, F2 to indicate that it's
a multiobjective model.
The last few PROC OP Model commands
after the solve statement catalog
the Pareto optimal solutions and create an output data
set that contains them.
Finally, we use PROC SG Plot to graph this set of solutions.
Let's run this program.
The solution summary shows that the LSO solver
looked at more than 22,000 points
and found more than 4,900 nondominated solutions.
Here's the graph of the efficient frontier.
Remember, we're minimizing both objectives,
so we're pushing toward the lower left corner of the graph.
And here are the first 100 rows of the data that describes
these nondominated solutions.
In a practical application, you'd
use your own criteria to filter these optimal solutions
and decide which one to implement.
LORRY HARDT: Here it SAS, we consider the use
of optimization as a key component
of the analytics lifecycle.
These sophisticated algorithms not only
manage limited resources effectively
in a challenging world, but also can
be used in any situation where improvements
in the productivity of business are of paramount importance.
Thanks for watching.