# NLP problem how to change to make it LP • ### Discussion générale

• Hi!

I'm a very beginner with Optimization problem and i started to used solverfoundation very recently.

Sorry for english too! I try to explain my problem.

I have a demand for a product with a certain quantity Q, I have to produce a production plan for this demand

A product can be composed with resources r1, r2, with some coefficient c1, c2 as resource usage respectively, with some coefficient scenarios like below , suppose I have 3 scenarios

Scenario

1)       c1=0.50 , c2=0.50

2)       c2=0.25, c2=0.75

3)       c3=0.75,c2=0.26

These scenarios are mutually exclusive.

For instance , if the production for period T , P(T)=10

For Scenario 2)  Usage of Resource r1 = 10*0.25=2.5   , and r2=10*0.75=7.5

Resource has availability for each period

My problem is that due to my model , I have a NLP,  how can I change the model to make It LP ?  I try to lookup with SOS1 but I’m not really experienced with it.

here is my OML model.

```Model[
Parameters[
Sets[Integers[0, Infinity]],
RessourceSet,
VarianteSet,
PeriodeSet
],
Parameters[
Reals[0, Infinity],
NomenclatureVarPar[RessourceSet, VarianteSet],
DispoPar[RessourceSet, PeriodeSet]
],
Decisions[
Reals[0, Infinity],
DemandeDecision[PeriodeSet]
],
Decisions[
Integers[0, 1],
ActivationDecision[VarianteSet, PeriodeSet]
],
Constraints[
DemandeConstr -> Sum[
{iter1, PeriodeSet},
DemandeDecision[iter1]
] <= 1000,
ConstrRessource -> Foreach[
{iter2, PeriodeSet},
Foreach[
{iter3, RessourceSet},
Foreach[
{iter4, VarianteSet},
(DemandeDecision[iter2] * ActivationDecision[iter4, iter2]) * NomenclatureVarPar[iter3, iter4] <= DispoPar[iter3, iter2]
]
]
],
ActivationConstr -> Foreach[
{iter5, PeriodeSet},
Sum[
{iter6, VarianteSet},
If[ActivationDecision[iter6, iter5], 1, 0]
] == 1
]
],
Goals[
Maximize[
SatisfactionGoal -> Annotation[Sum[
{iter7, PeriodeSet},
DemandeDecision[iter7]
], "order", 0]
]
]
]
```

Thanks for any help

Willy

• Type modifié lundi 21 novembre 2011 08:52 pas en français
• Déplacé lundi 21 novembre 2011 08:52 pas en français (Origine :Développement .NET (en général))
jeudi 17 novembre 2011 14:52