惩罚函数程序(Penalty function program).docVIP

惩罚函数程序(Penalty function program).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
惩罚函数程序(Penalty function program)

惩罚函数程序(Penalty function program) #包含iostream #包括 H / /记时间必须要加的头文件窗口。 使用名称空间; 双func0(双*) { 返回(- 3 * [ 1 ] + 2 * 0 [ 2 - 0.8 ] /((2 * A [ 1 ] + A [ 2 ])+(- 4 * * 2 [ 0 ] * 2 [ * ] [ 1 ] - [ 2 ] /(7 * 0 [ 0 ] + 3 * A [ 1 ] ]; } 双func1(双*,双R) { 返回(- 3 * [ 1 ] + 2 * 0 [ 2 - 0.8 ] /((2 * A [ 1 ] + A [ 2 ])+(- 4 * * 2 [ 0 ] * 2 [ * ] [ 1 ] - [ 2 ] /(7 * 0 [ 0 ] + 3 * A [ 1 ] ]— R *(log(- [ 0 ] + [ 1 ] - A - 2 - 1))+ log(-(- [ 0 ] + [ 1 ] - 2 1 +)+日志(-(12 * 34.8 0 + 5 * 1 + 12 * 2 ])) 日志(-(12 * 2 [ 0 * 12 ] + 7 * 1 [ 2 - 29.1))+日志(-(- 6 * 0 ] + 1 2 + 4.1))+日志(A [ 0 ] ] [ 1 ] ]; } 双func11(双*)/ / 8个约束条件 { 返回一个[ 0 ] + [ 1 ] - A [ 2 ] - 1; } 双func22(双*) { 返回[ 0 ] + A [ 1 ] - A [ 2 ] + 1; } 双func33(双*) { 返回12 * [ 0 ] + 5 * * [ 1 ] + 12 * A [ 2 ] - 34.8; } 双func44(双*) { 返回12 * [ 0 ] + 12 * * [ 1 ] + 7 * A [ 2 ] - 29.1; } 双func55(双*) { 返回- 6 * 4.1 [ 0 ] + [ 1 ] + [ 2 ] +; } 双func66(双*) { 返回[ 0 ]; } 双func77(双*) { 返回[ 1 ]; } 双func88(双*) { 返回[ 2 ]; } 国际xunhuancishu = 0; 双搜索(双AA,BB双,双R,int n)/参数:搜索方向,初始点,影响系数/用于求解最优步长 { 双L = 1e-2; 双A1 = 0,B1 = 0,C1 = 0; C1=+1; 双*,*,*; =(双*)malloc(sizeof(双)* N); B =(双*)malloc(sizeof(双)* N); C =(双*)malloc(sizeof(双)* N); 对于(int = i 0;i ;n;+ +) *(C++); / /,(func11(C) 0 | | func22(C) 0 | | func33(C) 0 | | func44(C) 0)/先从负方向进行搜索,保证从负方向进行搜索不会越界 / { / / cout 777 endl; // 2; //; //(int = i 0;i ;n;+ +) //; / } / / L = L /再从正方向进行搜索; //; //(int = i 0;i ;n;+ +) //; 而(func11(C) 0 | | func22(C) 0 | | func33(C) 0 | | func44(C) 0 | | func55(C) 0 | | func66(C) 0 | | func77(C) 0 | | func88(C) 0)/再从正方向进行搜索,防止跑出范围 { l=2; C1=+1; 对于(int = i 0;i ;n;+ +) *(C++); } 对于(int = i 0;i ;n;+ +) *(+我)= BB [我];//确定L以后,就进行初始点的计算,此时L是一个正值 如果(晶圆厂(func1(A,R)- func1(C,R)) 1e-6) { 如果(func1(A,R) func1(C,R))/负方向进行搜索 { L = L; C1=+1; 对于(int = i 0;i ;n;+ +) *(C++); 而(func11(C) 0 | | func22(C) 0 | | func33(C) 0 | | func44(C) 0 | | func55(C) 0 | | func66(C) 0 | | func77(C) 0 | | func88(C) 0)/用于防止搜索点跑出约束范围 { L = 2;//这个地方尽量是除以2,具体原因还不清楚 C1=+1; 对于(int = i 0;i ;n;+ +) *(C++); } B1 = C1 + L; 对于(int

您可能关注的文档

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档