没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
最优化期末作业
===========================================================================
[1] 编写 MATLAB 程序, 利用单纯形法求解如下目标函数的极小点:
给定初始单纯形顶点为
取精度要求 , 扩张因子 , 压缩因子 。
===========================================================================
1 代码实现:
① 我们设定了一个函数用来包装整个题目
② 我们对函数的初始值进行一些设定,主要包括:
1. 目标函数表达式
2. 用来后序绘图,记录每次迭代的点和值的列表
3. 精度、扩张因子、压缩因子
③ 接着构造初始单纯形,对于二维优化问题,需要取三个初始点,这里题目已经给
出了:
可以看出对于[0 0]初始点,分别按照 x y 方向移动一步得到 x1 x2,因此这三个点能
够 保证向量组线性无关。
④ 接着需要从初始的点中找到最好点、最差点、次差点:
由于后序在每次迭代中都需要进行比较得到点,因此这里先随意将初始的 x0 x1
x2 赋值给 t_l_i、t_h_i、t_g_i 分别表示最好点、最差点、次差点,t_l、t_h、
t_g 分别表示最好点、最差点、次差点的值
⑤ 接着我们按照单纯形法的迭代步骤以及流程图编写迭代的主体过程。
首选需要确定 t_l_i、t_h_i、t_g_i 的正确内容,这里简单的比较三个点的函数值
并且赋值给正确的变量
⑥ 为了后序画图以及查看中间结果,这里将当前迭代的最好点保存下来,并且打印当
前迭代结果:
接着是更新值的部分:
⑦ 首先(3)计算 xh 之外的重心和反射点
计算
之外各点的 “重心”
求出反射点
⑧ 进行比较和迭代:
当
时, 需要扩张. 令
.
如果
, 则以
代替
形成一新单纯形; 否则, 以
代替
构成新单纯形. 然后转收敛性检测.
收敛性检测:
⑨ 当
时, 以
代替
构成新单纯形, 然后收敛性检测:
⑩ 当
时, 则需要收缩. 即令
剩余42页未读,继续阅读
资源评论
奥卡姆剃刀_Jab
- 粉丝: 1462
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功