How to present priority list in an optimization problem?

조회 수: 2 (최근 30일)
Yaser Khojah
Yaser Khojah 2018년 3월 8일
편집: Yaser Khojah 2018년 3월 9일
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개)

카테고리

Help CenterFile Exchange에서 Problem-Based Optimization Setup에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by