有约束最优化问题,用matlab求解

2021-02-25 20:22:34 字数 3635 阅读 2704

1楼:兔子和小强

假设最来

优时候的a1不等于自a2,那么取a1' = a2' = max将是更优的解。因此,最优时候的a1与a2必定相等。

给定角加速度a时,加速时间越长那么转过的角度越多。在加速度不大于0.5g的约束下,加速时间最多可以是:

加速与减速过程所转过的角度是a*t(a)^2,是个随a递减的函数。假设最优时候的角加速度为a,加速时间t < t(a),那么可以增大a到某个值a',加速时间为t(a'),使得a'*t(a')^2 = at^2。因此,最优时候的加速时间必取到最大值。

综上,可得最终优化式子:

**如下:

g = 9.8;

r = .056;

t = @(a)(g^2/(4*r^2*a^4)-1/a^2)^(1/4);

f = @(a)t(a)+22.2/a/t(a);

a = fminsearch(f, 1e-6);

fprintf('a1 = a2 = %f\nt1 = t3 = %f\nt2 = %f\n', a, t(a), 22.2/a/t(a)-t(a))

如何用matlab求解非线性约束优化问题

2楼:晚霞满天

方法/步骤

此题的问题描如下图。由于本经验主要是谈非线性约束下的最优化问题,对于其他线性约束就不再考虑。

然后启动matlab。新建一个函数文件,用来写目标函数。

在编辑器窗口中写入我们要求的目标函数,并保存,注意使函数名与文件名相同。

然后再新建一个函数文件,用来编写非线性约束条件。步骤及其注意事项同上。额外需要注意的是,需要将两个函数文件放在同一个文件夹中。

最后,在命令行窗口处写入fmincon命令。此处需要注意的是,对于没有的线性约束条件的位置药用空矩阵代替,并且初始条件需要满足非线性约束条件(本例中写的是[1,2])。

敲下键盘上的enter建,结果得出。可以发现exitflag=1是大于0的,所以结果正确。

用matlab求解一个优化问题(目标函数非线性,约束函数线性)

3楼:化学工程

程序编的非常好,只有一句:size(x) = [4,3]改为x =zeros(4,3) 即可。

%******************************===

function fff

clear;clc;

a= [1,1,1,0,0,0,0,0,0,0,0,0;

0,0,0,1,1,1,0,0,0,0,0,0;

0,0,0,0,0,0,1,1,1,0,0,0;

0,0,0,0,0,0,0,0,0,1,1,1;

-1,0,0,-1,0,0,-1,0,0,-1,0,0;

0,-1,0,0,-1,0,0,-1,0,0,-1,0;

0,0,-1,0,0,-1,0,0,-1,0,0,-1]

b=[200-1.645*10;

300-1.645*10;

400-1.645*10;

200-1.645*10;

-100-1.645*10;

-300-1.645*10;

-400-1.645*10]

x0=[0,0,0,0,0,0,0,0,0,0,0,0];

lb=[0,0,0,0,0,0,0,0,0,0,0,0];

ub=;

[x,fval,exitflag]=fmincon(@myobj,x0,a,b,,,lb,ub)

function f=myobj(x)

c = [12 21 21; 13 20 23; 15 17 27; 17 19 31];

x =zeros(4,3)

y = c.*x;

y = sum(y(:));

s = 0;

for i = 1:4

sg = sum(x(i,:));

s = s+sg.^0.6;

endf = y+200*s;

%*************************====

运行结果:

x =19.5167 69.5167 94.

5167 38.7083 88.7083 113.

7083 38.7083 88.7083 113.

7083 19.5167 69.5167 94.

5167

fval =

0exitflag =1

4楼:匿名用户

global optimal solution found.

objective value: 112550.5

objective bound: 112550.4

infeasibilities: 0.000000

extended solver steps: 83

total solver iterations: 4753

variable value reduced cost

x1 50.65000 0.000000

x2 0.000000 7.000000

x3 132.9000 0.000000

x4 0.000000 3.438348

x5 0.000000 8.438348

x6 283.5500 0.000000

x7 65.80000 0.000000

x8 316.4500 0.000000

x9 0.000000 0.1050611e+09

x10 0.000000 2.000000

x11 0.000000 2.000000

x12 0.000000 0.1050611e+09

row slack or surplus dual price

1 112550.5 -1.000000

2 0.000000 3.000000

3 0.000000 5.438348

4 1.300000 0.000000

5 183.5500 0.000000

6 0.000000 -215.0000

7 0.000000 -217.0000

8 0.000000 -40.97349

高等数学,由边际函数求最优化问题,最好有解答过程谢谢

1楼 匿名用户 6 总成本 c q c q dq 2dq 2q c0 c 0 0 c1 0 c q 2q 总收入 r q r q dq 7 2q dq 7q q 2 c1 r 0 0 c1 0 r q 7q q 2 设总利润为l q l q r q c q 7q q 2 2q q 2 5q q 5 ...

如何运用matlab解决自动化专业方面的问题

1楼 悲惨时间里 可以通过simlink 来模拟pid控制,模拟出线性非线性的变化,还可以通过他的数学计算功能出具图表,直观反映控制要求。当然这些都是建立在建模的基础上的。根据建立的数学模型来实现相对性的matlab编辑。 数学模型包括原始系统数学模型和 系统数学模型。原始系统数学模型是对系统的原始...

线性规划问题有多个目标函数如何,线性规划问题有多个目标函数如何用lingo求解

1楼 勤奋的上大夫 你可以理解为一个三维坐标系,z是x y的函数 z为纵坐标 ,求它的最大值或最小值。又因为线性函数没有极值,但在一些约束条件下 限制在某一x y区域 就有最大值最小值。线性规划是优化的一种,目标函数就是你优化要达到的目的,比如说两个人怎么分工,使产量最大,就设产量为目标函数。 一般...