fgoalattain能不能解决非线性规划问题 急需!!!!!!望高手指点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fgoalattain能不能解决非线性规划问题 急需!!!!!!望高手指点相关的知识,希望对你有一定的参考价值。

可以求非线性,Matlab帮助文档中说的很清楚。

fgoalattain

Solve multiobjective goal attainment problems
Equation

Finds the minimum of a problem specified by

x, weight, goal, b, beq, lb, and ub are vectors, A and Aeq are matrices, and c(x), ceq(x), and F(x) are functions that return vectors. F(x), c(x), and ceq(x) can be nonlinear functions.
参考技术A fgoalattain能不能解决非线性规划问题 急需!!!!!!望高手指点
楼主去凡窝电脑技术论坛看看吧
那里的技术教程很多的
涉及很多方面的网络技术·
有机会多去那看看教程吧

多目标规划——fgoalattain

多目标规划

多个目标函数,之间可以用他们的重要程度分析,来一次进行这个序贯算法,当然也可以无限逼近的方案——

clc,clear;
% 约束
a = [-1 -1 0 0
    0 0 -1 -1
    3 0 2 0
    0 3 0 2];
b = [-30
    -30
    120
    48];
% 求两次单一目标函数
c1 = [-100 -90 -80 -70];
c2 = [0 3 0 2];
​
% 单一目标值 g1,g2
[x1,g1] = linprog(c1,a,b,[],[],zeros(4,1));
[x2,g2] = linprog(c2,a,b,[],[],zeros(4,1));
​
% 组合多目标规划,fgoalattain
g3 = [g1
    g2];
​
[x,fval] = fgoalattain(\'Fun\',rand(4,1),g3,abs(g3),a,b,[],[],zeros(4,1));

 

如何设置权重weight呢?

比如:

 

第一个式子的重要程度是20%,第二个式子的重要程度是80%。

哈哈,想到这里,其实是错误的,可以有这种想法,但是我们的多目标规划问题,就是要无限逼近这两个目标,不存在说两个式子哪个重要。哪个重要,还不如用我们的之前的那个序贯算法呢。看看MATLAB官方文档是如何说的这个参数。

A weighting vector to control the relative underattainment or overattainment of the objectives in fgoalattain. When the values of goal are all nonzero, to ensure the same percentage of under- or overattainment of the active objectives, set the weighting function to abs(goal). (The active objectives are the set of objectives that are barriers to further improvement of the goals at the solution.)Note Setting a component of the weight vector to zero will cause the corresponding goal constraint to be treated as a hard constraint rather than as a goal constraint. An alternative method to set a hard constraint is to use the input argument nonlcon.
When the weighting function weight is positive, fgoalattain attempts to make the objectives less than the goal values. To make the objective functions greater than the goal values, set weight to be negative rather than positive. To make an objective function as near as possible to a goal value, use theEqualityGoalCount option and put that objective as the first element of the vector returned by fun (see the preceding description of fun and options).

以上是关于fgoalattain能不能解决非线性规划问题 急需!!!!!!望高手指点的主要内容,如果未能解决你的问题,请参考以下文章

急~~~求MATLAB高手帮忙解决一道0-1线性规划问题

Matlab中的优化工具包都能求解哪些类型的优化问题?求解的函数是啥?

多目标规划——fgoalattain

matlab中多目标线性规划函数如何使用

lingo能解决的问题,matlab能解决 吗?那个更好。

数学建模中模型和算法是一样的吗?就像遗传算法,它是模型吗?还是它是用来解决规划问题的算法?急