In Analytic Solver V2023 Q3, we've made it easier than ever to create analytic models, and easier to deploy them for ongoing use, through two major new features: our new conversational AI Agent, with a button next to Help on the Analytic Solver Ribbon, and a new Identify Inputs feature that simplifies the task of updating key input parameters when it's time to re-run your model.  (For further improvements in V2023 Q3, see the very end of this post.)

AI Agent: Ask for Help from "Generative AI" - Trained on Analytic Solver

By now, nearly everyone who's been following technology is aware of ChatGPT, the conversational agent using "Generative AI" methods, developed by the OpenAI nonprofit organization (also affiliated with Microsoft).  You can ask ChatGPT questions on almost any topic – including analytic methods – and get meaningful and interesting (though not always 100% correct!) answers.

That's great – but what if you could have an AI "technical support agent" based on the same technology as ChatGPT, that had studied all 3,450 pages of Frontline's User Guides, Reference Guides and QuickStart Guides – everything about optimization, Monte Carlo simulation, data science and machine learning, and business rules – and was instructed to use its knowledge to answer your questions?  Well, that's what you have in Analytic Solver V2023 Q3 and RASON V2023 Q3!

AI Agent: Initial Dialog

You can ask the AI Agent questions that are very specific to (say) Optimization in Excel, such as "How can I linearize an IF statement in Excel?" -- or similar questions specific to our cloud platform RASON -- and get an answer that comes directly from our user documentation.  If you click the "Learn More" button, you'll see hyperlinks to very specific points within those 3,450 pages, that you can click to open the relevant User Guide or Reference Guide to that topic:

AI Agent: Linearize an IF statement in Excel

But you can also ask much more general -- even management-level -- questions, such as "How can I lower shipping costs from our factories to customers?", that are answered using specific knowledge from our User and Reference Guides, as well as general knowledge of the world, informed by the "context" of the question. You can ask follow-up questions in a conversation where the context is maintained, so if you mention "costs" the Agent understands that you mean shipping costs from factories to customers. You can save, restore, and continue these conversations.

The "slider" at the bottom lets you control the so-called "temperature" of the Generative AI process, which will often yield "more [seemingly] creative" answers as you move the slider right -- but bear in mind that our AI Agent, like all Large Language Models (LLMs), can respond with inaccurate or even fictional answers at times.  Use the buttons to the left of the question box to save or restore a previous conversational session, or start a brand-new conversation.

Actually making this work involves a fair amount of software engineering: Generative AI tools need the right "context" to respond to your question – so we've built an online resource where all those 3,450 pages of Guides are represented via "vector embeddings" that enable searches by meaning, not just "keyword matches".  Our AI Agent automatically searches this online resource to create "context" for your queries to the LLM – and you can also search this online resource directly, using the "spyglass" icon at the far right of the question box.

The responses you can get from our AI Agent can be quite surprising at times.  For instance, when asked to "write a song about stochastic optimization", the AI Agent came up with this:

We're using the "real" online GPT 3.5 Turbo version from OpenAI for its full conversational capabilities, which costs us money for every query – so you will find some limits placed on query length and number of queries per month, depending on your software license type.  But we expect you'll be able to use our AI Agent to amplify your own efforts, ultimately building more capable and effective analytic models.  We look forward to your feedback!

Identify Inputs: Easily Set Up your Model for Data Updates and New Solves

When you're first building and solving a model in Analytic Solver, usually your focus is on getting a solution for a specific instance of a business problem, with data you have today – gathered from one or several external sources into Excel.  After some effort, you're now getting solutions from optimization, simulation, or data science and machine learning.  That's a success by itself … but it leads to a desire to "do it again (and again) in the future."

But … those data and parameter values that should be updated for a future run may be scattered around your Excel spreadsheet, which also includes cells with calculated formulas, cells with constant data that doesn't need updating, and cells with data that you want to be visible, but that don't actually affect or "participate in" the analytic model.  How do you find just the parameter values that should be updated – and then, how do you actually update them?

Now you can choose Tools – Identify Inputs and get help doing exactly that.  This tool uses our PSI Interpreter to scan your model formulas, identify and list only those cell ranges that are candidates for data updates that will affect the model when solved.  You can then pick and choose from a list of cell ranges, which ones you actually need to update for a new run.  Here's an example, from our "Transportation of Goods" example model:

Then you can either (i) let Analytic Solver "highlight" those cells with colors and backgrounds, or even better, (ii) automatically add calls to our PsiInput() function that reference those cells.  These cells will automatically appear in the Task Pane as part of your model (under the Input Data heading) – but when you deploy your model for use beyond Excel, via our RASON and Solver SDK tools, you'll have easy ways to supply new values from other data sources for exactly those input cells.

If you've planned in advance for data updates and re-solves, Tools – Identify Inputs can help you check and validate your work.  But if – like most of us – you were focused on getting a first-time solution and "put off" the task of data updates and re-solves, Tools – Identify Inputs can be a huge time-saver!

And Further Improvements for Excel Models and Optimization

Did you know that Microsoft continues to add new built-in functions to Excel? ... and that we support those new functions in the PSI Interpreter (our "Polymorphic Spreadsheet Interpreter" that gives you ultra-high-speed simulations and optimizations)?  Below is a list of recently-added functions that are supported in V2023 Q3.  And this release also includes new, higher performance "point releases" of the Gurobi and Xpress Solver Engines.  We never stop improving RASON and Analytic Solver!

Operating System: