• 大小: 82KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: C#
  • 标签: c#  winform  界面  最优解  

资源简介

c#写的三种寻找最优解的算法;分别是格点法,单峰区间进退法,和黄金分割法,适合初学者学习使用

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;


namespace 格点法
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        double f1(double x)
        {
            double f;
            f = x * x - 6 * x + 2;
            return f;
        }
        private void button1_Click(object sender EventArgs e)
        {
            int n = 4;
            double E = 0.001;
            double[] x = new double[5];
            x[0] = 0.0;
            x[4] = 10.0;
            do
            {
                for (n = 0; n <= 4; n++)
                {
                    x[n] = x[0] + n * ((x[4] - x[0]) / 4.0);
                }
                double min = f1(x[0]);
                for (n = 1; n + 1 <= 4; n++)
                {
                    if (f1(x[n]) < min)
                    {
                        min = f1(x[n]);
                        x[0] = x[n - 1];
                        x[1] = x[n];
                        x[4] = x[n + 1];
                    }
                }
            } while (x[4] - x[0] > E);
            label1.Text = x[1].ToString();

        }

        private void button2_Click(object sender EventArgs e)
        {
            double a1 a2 a3 h h0 y1 y2 y3;
            a1 = 5;
            h0 = 1;
            h = h0;
            a2 = h;
            y1 = f1(a1);
            y2 = f1(a2);
            if (y2 >= y1)
            {
                h = -h;
                a3 = a1;
                y3 = y1;
                do
                {
                    a1 = a2; a2 = a3;//变换前进方向,交换参数位置
                    y1 = y2; y2 = y3;
                    a3 = a2 + h;
                    y3 = f1(a3);
                    h = 2 * h;
                } while (y3 < y2);
                label2.Text=“[“+a3.ToString()+““+a1.ToString()+“]“;
            }
            else
            {
                a3 = a2 + h;
                y3 = f1(a3);
                if (y3 < y2)
                {
                    while (y3 < y2)
                    {
                        h=2*h;
                        a1 = a2; a2 = a3;
                        y1 = y2; y2 = y3;
                        a3 = a2 + h;
                        y3 = f1(a3);
                    }
                    label2.Text = “[“ + a1.ToString() + ““ + a3.ToString() + “]“;
                }
            }
            
        }

        private void button3_Click(object sender EventArgs e)
        {
            double a b E y1 y2 a1 a2 min;
            a = 0;
            b = 10;
            E= 0.001;
            a1 = b - 0.618 * (b - a);
            a2 = a + 0.618 * (b - a);
            y1 = f1(a1);
            y2 = f1(a2);
       

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        993  2016-10-18 13:59  格点法+单峰区间进退法+黄金分割法c#版本\三种方法.sln

    ..A..H.     18432  2016-10-18 14:47  格点法+单峰区间进退法+黄金分割法c#版本\三种方法.v11.suo

     文件        187  2016-10-18 11:21  格点法+单峰区间进退法+黄金分割法c#版本\格点法\App.config

     文件        187  2016-10-18 11:21  格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法+.exe.config

     文件        187  2016-10-18 11:21  格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法+.vshost.exe.config

     文件      10240  2016-10-18 14:40  格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法+单峰区间法+黄金分割法.exe

     文件        187  2016-10-18 11:21  格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法+单峰区间法+黄金分割法.exe.config

     文件      26112  2016-10-18 14:40  格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法+单峰区间法+黄金分割法.pdb

     文件      22984  2016-10-18 14:47  格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法+单峰区间法+黄金分割法.vshost.exe

     文件        187  2016-10-18 11:21  格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法+单峰区间法+黄金分割法.vshost.exe.config

     文件        490  2015-10-30 13:45  格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法+单峰区间法+黄金分割法.vshost.exe.manifest

     文件      10240  2016-10-18 13:54  格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法.exe

     文件        187  2016-10-18 11:21  格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法.exe.config

     文件      26112  2016-10-18 13:54  格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法.pdb

     文件        187  2016-10-18 11:21  格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法.vshost.exe.config

     文件        490  2015-10-30 13:45  格点法+单峰区间进退法+黄金分割法c#版本\格点法\bin\Debug\格点法.vshost.exe.manifest

     文件       3570  2016-10-18 14:40  格点法+单峰区间进退法+黄金分割法c#版本\格点法\Form1.cs

     文件       4875  2016-10-18 13:59  格点法+单峰区间进退法+黄金分割法c#版本\格点法\Form1.Designer.cs

     文件       5817  2016-10-18 13:59  格点法+单峰区间进退法+黄金分割法c#版本\格点法\Form1.resx

     文件       1278  2016-10-18 12:47  格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       7060  2016-10-18 14:46  格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件          0  2016-10-18 11:21  格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs

     文件          0  2016-10-18 11:21  格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs

     文件          0  2016-10-18 11:21  格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs

     文件       4608  2016-10-18 13:57  格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll

     文件        180  2016-10-18 13:59  格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\作业.Properties.Resources.resources

     文件      10240  2016-10-18 14:40  格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\格点法+单峰区间法+黄金分割法.exe

     文件      26112  2016-10-18 14:40  格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\格点法+单峰区间法+黄金分割法.pdb

     文件       1347  2016-10-18 14:47  格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\格点法+单峰区间进退法法+黄金分割.csproj.FileListAbsolute.txt

     文件        975  2016-10-18 13:59  格点法+单峰区间进退法+黄金分割法c#版本\格点法\obj\Debug\格点法+单峰区间进退法法+黄金分割.csproj.GenerateResource.Cache

............此处省略29个文件信息

评论

共有 条评论