无约束多维优化坐标轮换法vb编程.doc_第1页
无约束多维优化坐标轮换法vb编程.doc_第2页
无约束多维优化坐标轮换法vb编程.doc_第3页
无约束多维优化坐标轮换法vb编程.doc_第4页
无约束多维优化坐标轮换法vb编程.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

坐标轮换法程序框图Vb运行界面Vb编程程序Private Sub Command1_Click()Dim s110 As DoubleDim s100 As DoubleDim s200 As DoubleDim s210 As DoubleDim x100(10000000) As DoubleDim x110(10000000) As DoubleDim x200(10000000) As DoubleDim x210(10000000) As DoubleDim 1 As DoubleDim 2 As DoubleDim k As LongDim a1#, a2#, a3#, a4#, a5#, a6#Dim h#, e1#, e#Dim 0#, 1#, 2#, 3#, a#, b#Dim xx1#, xx2#, yy1#, yy2#, yy3#Dim f2#, f1#, fxx#0 = Val(Text10.Text)h = Val(Text11.Text)e1 = Val(Text12.Text)x100(0) = Val(Text7.Text)x110(0) = Val(Text8.Text)a1 = Val(Text1.Text): a2 = Val(Text2.Text): a3 = Val(Text3.Text): a4 = Val(Text4.Text): a5 = Val(Text5.Text): a6 = Val(Text6.Text)e = Val(Text9.Text)k = 0m1: s100 = 1: s110 = 0一维搜索求最优解1 = 0xx1 = x100(k) + s100 * 1: xx2 = x110(k) + s110 * 1: yy1 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a62 = 0 + hxx1 = x100(k) + s100 * 2: xx2 = x110(k) + s110 * 2: yy2 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6If yy1 yy2 Thenh = 2 * hElseh = -0.25 * h3 = 11 = 22 = 3yy3 = yy1yy1 = yy2yy2 = yy3End If3 = 0 + hxx1 = x100(k) + s100 * 3: xx2 = x110(k) + s110 * 3: yy3 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6Do While yy2 yy3h = 2 * h1 = 2yy1 = yy22 = 3yy2 = yy33 = 0 + hxx1 = x100(k) + s100 * 3: xx2 = x110(k) + s110 * 3: yy3 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6LoopIf h 0 Thena = 1ya = yy1b = 3yb = yy3Elsea = 3b = 1ya = yy3yb = yy1End If1 = a + 0.382 * (b - a)2 = a + 0.618 * (b - a)xx1 = x100(k) + s100 * 1: xx2 = x110(k) + s110 * 1: yy1 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6xx1 = x100(k) + s100 * 2: xx2 = x110(k) + s110 * 2: yy2 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6Do While Abs(b - a) e1If yy1 yy2 Thenh = 2 * hElseh = -0.25 * h3 = 11 = 22 = 3yy3 = yy1yy1 = yy2yy2 = yy3End If3 = 0 + hxx1 = x200(k) + s200 * 3: xx2 = x210(k) + s210 * 3: yy3 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6Do While yy2 yy3h = 2 * h1 = 2yy1 = yy22 = 3yy2 = yy33 = 0 + hxx1 = x200(k) + s200 * 3: xx2 = x210(k) + s210 * 3: yy3 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6LoopIf h 0 Thena = 1ya = yy1b = 3yb = yy3Elsea = 3b = 1ya = yy3yb = yy1End If1 = a + 0.382 * (b - a)2 = a + 0.618 * (b - a)xx1 = x200(k) + s200 * 1: xx2 = x210(k) + s210 * 1: yy1 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6xx1 = x200(k) + s200 * 2: xx2 = x210(k) + s210 * 2: yy2 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6Do While Abs(b - a) e1If yy1 yy2 Thenn0 = 0b = 22 = 1yy2 = yy1Elsen0 = 1a = 11 = 2yy1 = yy2End IfIf n0 = 0 Then1 = a + 0.382 * (b - a)xx1 = x200(k) + s200 * 1: xx2 = x210(k) + s210 * 1: yy1 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6Else2 = a + 0.618 * (b - a)xx1 = x200(k) + s200 * 2: xx2 = x210(k) + s210 * 2: yy2 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6End IfLoop2 = (a + b) / 2x200(k + 1) = x200(k) + s200 * 2x210(k + 1) = x210(k) + s210 * 2xx1 = x200(k): xx2 = x210(k): f1 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6xx1 = x200(k + 1): xx2 = x210(k + 1): f2 = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 * xx2 + a6If Abs(x200(k + 1) - x200(k) 2 + (x210(k + 1) - x210(k) 2) = e And Abs(f2 - f1) / f2) = e Thenxx1 = x200(k + 1): xx2 = x210(k + 1)fxx = a1 * xx1 2 + a2 * xx2 2 + a3 * xx1 * xx2 + a4 * xx1 + a5 *

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论