SAS Optimization, and SAS Simulation Studio

turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Find a Community

Topic Options

- RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

01-26-2017 07:39 PM

Hi All,

Does proc optmodel support nonlinear mix integer optimization problem?

I have formulated the problem and model in Proc Optmodel. I am getting following error message

– “ERROR: The NLP solver does not allow integer variables.”

thanking in advance

Lokendra

- Mark as New
- Bookmark
- Subscribe
- RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to lokendra_devangan_corecompete_com

01-26-2017 09:08 PM

PROC OPTMODEL does not (yet) support mixed integer nonlinear optimization, so the error message is expected. Such problems can often be either linearized or solved indirectly. Can you please share your data and code?

- Mark as New
- Bookmark
- Subscribe
- RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to RobPratt

02-01-2017 05:15 AM

Thanks for your reply.

A representative expression is

Demand = Constant x (RecommendedPrice/FullPrice)^(-1.8) x (CompetitorPrice/FullPrice)^(-1.5)

RecommendedPrice is a decision variable and Revenue = Demand x RecommendedPrice is in the objective function.

We have some logical constraints on RecommendedPrices which we are modeling using binary variables. The actual problem has many products for which we are determining the price and there are relationships among these prices which are either logical (leading to binary variables) or linear.

As now we know Proc Optmodel does not support this kind of problem. We are trying to use Proc OPTLSO. We are trying to use proc optmodel to generate QPS or MPS data but since this is not quadratic problem and also not a linear problem we get error. In the support they suggest to use Proc FCMP to produce problem statement and use OPTLSO to solve. Is there any otherway to get the expanded form of probelm.

thanks

Lokendra

- Mark as New
- Bookmark
- Subscribe
- RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to lokendra_devangan_corecompete_com

02-01-2017 12:18 PM

To use PROC OPTMODEL to generate MPS or QPS, you must remove the nonlinear parts and handle them separately with PROC FCMP, as in this doc example: Example 3.6 Using Nonlinear Constraints

Alternatively, what you have shown so far can be linearized by taking logs, with LogDemand and LogRecommendedPrice as your decision variables:

LogDemand = log(Constant) -1.8 (LogRecommendedPrice - log(FullPrice)) -1.5 (log(CompetitorPrice) - log(FullPrice))

LogRevenue = LogDemand + LogRecommendedPrice

If the full problem can be linearized, you can use the MILP solver in PROC OPTMODEL. If you provide the full code and data, I'll take a look.