1、最优化上机作业一爬山法爬山法是指经过评价当前的问题状态后,限于条件,不是去缩小,而是去增加这一状态与目标状态的差异,经过迂回前进,最终达到解决问题的总目标。就如同爬山一样,为了到达山顶,有时不得不先上矮山顶,然后再下来,这样翻越一个个的小山头,直到最终达到山顶。可以说,爬山法是一种“以退为进“的方法,往往具有“退一步进两步“的作用,后退乃是为了更有效地前进。爬山法也叫逐个修改法、瞎子摸象法或 k-means 法。二目标函数f(x)=(x-2)2-1三定义域x 0,44程序目的用爬山法在定义域内找到函数 f(x)的最小值五具体方法在定义域内先随机找一个点 x,再另外找一点 x1,比较两个函数值的
2、大小。选择最小的函数值对应的点,再继续找下一点, 进行比较。如此循环下去,直到找到函数的最小值及对应的点。六程序代码#include#includedouble f(double);main()double c=0,n=0.1;while(nf(n)c=n;n=n+0.1;printf(“the c=%fn“,c);printf(“the min=%fn“,f(c);double f(double x)double y;y=(x-2)*(x-2)-1;return y; 六程序结果7心得体会在本次上机中,发现大一所学早已忘却,这导致我的上机作业完成的磕磕绊绊。但基本都是让人容易忽略的小错误,有时候为了检查一个错误,不得不仔细查看每一个标点。本来觉得不是很复杂的程序,但是结果却经常不尽人意。“纸上得来终觉浅”,在以后的学习中,要经常练习上机。