Нахождение минимума функции методом регулярного симплекса

Автор работы: Пользователь скрыл имя, 06 Марта 2011 в 11:57, лабораторная работа

Описание работы

Симплекс или n-симплекс (от лат. simplex — простой) — геометрическая фигура, являющаяся n-мерным обобщением треугольника. Определяется как выпуклая оболочка n+1 точек, не лежащих в одной n-мерной гиперплоскости. Эти точки называются вершинами симплекса. Симплекс называется правильным, если все его рёбра имеют одинаковую длину.

Файлы: 1 файл

ТПР1.doc

— 127.50 Кб (Скачать файл)

            if(f(t[3].x,t[3].y)<f(t[2].x,t[2].y)){ t[2].x=t[3].x; t[2].y=t[3].y;

            }else{

                 t[1].x=(t[0].x+t[1].x)/2;

                 t[1].y=(t[0].y+t[1].y)/2;

                 t[0].x=t[1].x-(t[1].x-t[2].x)/3;

               t[0].y=t[1].y-(t[1].y-t[2].y)/3;

                 VectorRotate(&t[2],&t[0],&t[1],-60);

            }

       } 

       Form1->Memo1->Lines->Add("Готово!!!");

       PN2_ID=0;

       return 0;

    } 

    //--------------------------------------------------------------------------- 

    void __fastcall TForm1::Image1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,

                  int X, int Y)

    {

       PN2=NULL;

       while(PN2_ID!=0) Sleep(10);

       if(RadioButton3->Checked){

            Image1->Canvas->Pen->Color=clYellow;

            Image1->Canvas->Pen->Width=5;

            Image1->Canvas->Ellipse(X,Y,X+1,Y+1);

            Image1->Canvas->Pen->Width=1;

            flag=!flag;

            if(flag){

                 ptmp.x=X;

                 ptmp.y=Y;

            }else{

                 TwoPoint* tp = new TwoPoint ;

                 tp->t1.x=ptmp.x;

                 tp->t1.y=ptmp.y;

                 tp->t2.x=X;

                 tp->t2.y=Y;

                 PN2=CreateThread(0, 0, Treangle_metod, tp, 0, &PN2_ID);

            }

       }else{

            Image1->Picture->Assign(0);

            xy_* xy = new xy_ ;

            xy->x=X;

            xy->y=Y;

            PN2=CreateThread(0, 0, Grad_metod, xy, 0, &PN2_ID);

       }

    }

    //--------------------------------------------------------------------------- 

    void __fastcall TForm1::RadioButton3Click(TObject *Sender)

    {

       flag=0;

    }

    //--------------------------------------------------------------------------- 

 

  1. СПИСОК  ЛИТЕРАТУРЫ
  2. Д. Химмельблау Прикладное нелинейное программирование. – М: Издательство «Мир», 1975.
  3. http://ru.wikipedia.org/wiki/Симплекс-метод

Информация о работе Нахождение минимума функции методом регулярного симплекса