how can I write more than 1 objective in linprog line

99 次查看(过去 30 天)
how can I define multi objective funtion problem? we can write linprog(f,A,..). however my problem has four objevtive function, how can I write them?

回答(2 个)

Stephan
Stephan 2020-10-19
编辑:Stephan 2020-10-19
You can not do this in linprog. See here instead:
If you have access to Global Optimization Toolbox, you ight want to look here also:

Walter Roberson
Walter Roberson 2020-10-19
You cannot have multiple objectives using linprog(), not even in the case where the constraints are the same for all objectives. Not even if there are no constraints (though if there are no constraints, then the solution always involves at least one of the variables being infinite). Not even if what you want is the minimum over all four objectives, as opposed to trying to minimize the four simultaneously (which is really a pareto problem.)
I have not done enough work with quadrog() to determine whether it just might be possible to use quadprog() by introducing additional integer-constrained variables with value 0 or 1 that are used to multiply an entire system, and thereby to allow the "selection" of the function, along the lines of
s1*f1(x) + s2*f2(x) + s3*f3(x) + s4*f4(x)
s1, s2, s3, s4 element of [0, 1]
s1 + s2 + s3 + s4 = 1 (exactly one of them is selected)
You should probably be looking at gamultiobj() or paretosearch()

类别

Help CenterFile Exchange 中查找有关 Multiobjective Optimization 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by