实验三:外罚函数法
一、实验目的
1、通过上机利用Matlab 数学软件进行外罚函数编程,并学会对具体问题具体分析;
2、熟悉外罚函数并编制程序;
3、培养Matlab 编程与上机调试能力。
二、实验课时:6个课时
三、实验准备
1、预习外罚函数算法;
2、熟悉Matlab 软件的基本操作。
四、实验内容
课堂上机实验演示部分如下:
根据外罚函数算法编写程序,求解约束问题
()()()2
124122min x x x x f -+-= ..t s 0221=-x x
外罚函数算法步骤如下:
(1)选择一个适当的)0(r 值和初始值)0(x ,规定收敛精度21εε、,令k=0;
(2)在收敛精度1ε的条件下,求惩罚函数的无约束极值点)()()(k k x σ,
取初始点为
)()1()1(--k k x σ )(~)(),(min )()(x P x f x P k k R
x n σσ+=∈; (3)若2)()()())((~εσσ≤k k k x P ,则停止迭代,
否则取()()1,1,1+=>=+k k r r k k αα,转向第2步。
五、课堂实验任务
1、编写函数文件,实现外罚函数法,求解下列问题。
(1) 求解约束问题
()32132212322212
123min x x x x x x x x x x x f +++--++=