How to present priority list in an optimization problem?
2 views (last 30 days)
Show older comments
I need help with an optimization problem please.
My model is a non linear model and I need to optimize x which has two variables (production rate of each field and its production priority list). The optimization problem as the following:
if true
% code
end
nvars = 10;
lb = [1100 500 150 200 300 1 1 1 1 1];
ub = [2500 1000 500 600 800 5 5 5 5 5];
opts = optimoptions('ga','PlotFcn',@gaplotbestf);
IntCon = [6:10];
[x,fval,exitflag] = ga(@OptimizationFunction,nvars,[],[],[],[],...
lb,ub,[],IntCon,opts);
Inside the main function (OptimizationFunction(x))
if true
% code
end
[NetPV,finalSupply] = OptimizationFunction(x)
NewRates = x(1:5);
field = x(6:end);
NewRates = x(1:5); is the variable rate of each field and it can be any rate between the lower and upper bound of each field.
field = x(6:end); is the order of each field and I have only 5 fields I want to show their production priority. In another world, which field to produce first. If one number was selected, it should be excluded from the list so, the right results can be as: [1 2 4 5 3] or [5 2 4 1 3]...etc
For example a result with x = [100, 300, 400, 500, 600, 1,3,2,5,4] can be translated as operate field 1 with 100, 3 with 300...and field 4 with 600. I need help on how I can ask the optimizer to find the optimum rate to operate each fields. In addition, which fields to produce first.
My problem the model find answer as x = (....... 1 1 1 2 1)
0 Comments
Answers (0)
See Also
Categories
Find more on Problem-Based Optimization Setup in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!