亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rand_2.pas

?? 機械優化設計中的約束隨機法
?? PAS
字號:
unit rand_2;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ComCtrls;

type
  TForm2 = class(TForm)
    GroupBox1: TGroupBox;
    cp: TButton;
    qx: TButton;
    sd: TSaveDialog;
    Memo1: TMemo;
    GroupBox2: TGroupBox;
    jgxs: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure cpClick(Sender: TObject);
    procedure qxClick(Sender: TObject);
    procedure sb1Scroll(Sender: TObject; ScrollCode: TScrollCode;
      var ScrollPos: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;
  procedure sjxs_1;
  procedure sjxs_2;
  Procedure RANDIR;
  procedure xran;
  procedure sran;
  procedure sfeas;

  function rmd() : real;

implementation

uses rand_0, rand_1, rand_fgh ;

//var sss:string;

{$R *.DFM}



procedure TForm2.FormCreate(Sender: TObject);
begin
   Form2.Left :=50;
   Form2.Top :=50;
end;


procedure TForm2.cpClick(Sender: TObject);
begin
  if sd.Execute then
  begin
    if fileexists(sd.filename) then
    begin
      if application.MessageBox('您確認要覆蓋此文件嗎?','警告',MB_YESNO)=idyes then
        form1.WriteDataToFile(sd.filename);
    end
    else
    begin
      form1.WriteDataToFile(sd.filename);
    end;
    if application.MessageBox('要返回嗎?','提示',MB_YESNO)=idyes then
      Form2.Close;
  end;
end;

procedure TForm2.qxClick(Sender: TObject);
begin
  Form2.Close;
end;

procedure TForm2.sb1Scroll(Sender: TObject; ScrollCode: TScrollCode;
  var ScrollPos: Integer);
var
  j,k : integer;
begin
  k := 0;
  jgxs.SetFocus;
  if scrollpos > 1 then
  for j := 1 to scrollpos do
    k := k+length(jgxs.Lines.Strings[j-1])+2
  else  k := 0;
  jgxs.SelStart := k;
end;


//=================優化算法程序=============================
Procedure RANDIR;   //開始計算
var ii,kk :integer;
    tmp107,tmp113,tmp116 : integer;
begin
    with form2.jgxs.lines do
    begin

  with form1.hfgd do
  begin
    rm := 2657863.0;
    xran;
    ffx;
    f0 := fx;

    tmp107:=107;
    repeat
      th:=t0;
      sfeas;
      ffx;
      fl:=fx;

      tmp113:=113;
      repeat
        th:=1.3*th;
        for ii:=1 to n do x[ii]:=x[ii]+th*sf[ii];
        ggx;
        for kk:=1 to kg do if (gx[kk]>=1e-15) then begin tmp113:=999; break; end;
        if tmp113=113 then
        begin
          FFX;
          if (fx > fl) then
            tmp113:=999
          else
            fl:=fx;
        end;
        if (th>1e15) then tmp113:=999;
//Add('113 目標函數值 F(X)= '+floattostr(FL)+'   步長 TH = '+floattostr(th));
      until tmp113=999;
      
      tmp116:=116;
      repeat
        for ii:=1 to n do x[ii]:=x[ii]-th*sf[ii];
        th:=0.7*th;
        for ii:=1 to n do x[ii]:=x[ii]+th*sf[ii];
        ggx;
        for kk:=1 to kg do
          if(gx[kk]>=1e-15) then begin tmp116:=116; break; end
                            else tmp116:=777;
        if tmp116=777 then
        begin
          FFX;
          if (fx > fl) then
             tmp116:=116
          else
             tmp116:=999;
        end;
        if (th<1e-15) then tmp116:=999;

//Add('116 目標函數值 F(X)= '+floattostr(FL)+'   步長 TH = '+floattostr(th));

      until (tmp116=999);

      if (abs(f0-fx)<(abs(f0)*eps+eps)) then tmp107:=999
      else begin
             ITE := ITE+1;
             f0:=fx;
           end;

    IF (ITE=1) or (ITE = ((ITE div 10)*10)) THEN
    BEGIN
      Add('   設計變量迭代點 X:'+'                           迭代次數  ITE = '+inttostr(ITE));
      for ii := 1 to n do Add(#9+#9+#9+'X['+inttostr(ii)+']= '+formatfloat('0.000000E+00',XL[ii]));
      Add('  -----------------------------------------------------------------------------');
      Add('   目標函數值 F(X)= '+floattostr(FL));
      Add('  -----------------------------------------------------------------------------');
   END;

    until (tmp107=999);
 end;
   end;
end;

function rmd() : real;   //計算隨機數
var
   rm35,rm36,rm37  : real;
begin
   with form1.hfgd do
   begin
     rm35:= exp(35.0*ln(2.0));
     rm36:=2.0*rm35;
     rm37:=2.0*rm36;
     rm:=5.0*rm;
     if rm>=rm37 then rm:=rm-rm37;
     if rm>=rm36 then rm:=rm-rm36;
     if rm>=rm35 then rm:=rm-rm35;
     rmd:=rm/rm35;
   end;
end;

procedure xran;  //產生可行的初始點
var
  ii,temp,kk:integer;qq:real;
begin
  with form1.hfgd do
  begin
    temp:=0;
    repeat
      ggx;
      for ii:=1 to kg do
      begin
        if (gx[ii]>=0) then
        begin
          for kk:=1 to n do
          begin qq:=random; x[kk]:=bl[kk]+qq*(bu[kk]-bl[kk]); end;
          temp:=1;
          break;
        end
        else
          temp:=0;
        if(temp=1) then break;
      end;
    until temp=0;
  end;
end;

procedure sran;  //產生隨機方向
var
  ii,kk:integer;qq,rqu:real;
begin
  with form1.hfgd do
  begin
    rqu:=0;
    for ii:=1 to n do begin qq:=rmd(); sr[ii]:=2.0*qq-1.0; rqu:=rqu+sr[ii]*sr[ii]; end;
    for kk:=1 to n do sr[kk]:=sr[kk]/sqrt(rqu);
  end;
end;

procedure sfeas; //由初始點按最優方向迭代一輪
var ii,kk,jj,temp,temp1:integer;x0:arr1;
begin
  with form1.hfgd do
  begin
    for ii:=1 to n do begin x0[ii]:=x[ii];xl[ii]:=x[ii];end;
    fl:=f0;
    temp:=1;temp1:=1;
    repeat
      for kk:=1 to nsr do
      begin
        sran;
        for ii:=1 to n do x[ii]:=x0[ii]+th*sr[ii];
        ggx;
        for jj:=1 to kg do
        begin
          if (gx[jj]>=1e-15)then  begin temp:=1;  break;  end
                            else  temp:=0;
        end;
        ffx;
        if(fx<fl)and(temp=0) then
        begin
          fl:=fx;
          temp1:=0;
          for ii:=1 to n do begin  sf[ii]:=sr[ii];  xl[ii]:=x[ii];  end;
        end;
      end;
      for ii:=1 to n do x[ii]:=xl[ii];
      th:=0.9*th;
    until (temp1=0)and(temp=0);         //((th<1e-7)or((fl-f0)>=1e-15));
  end;
end;


//===========================================================================
procedure sjxs_1;
var
   ii : integer;
   jg:array[1..400] of string;
begin
  with form1.hfgd do
  begin
    jg[1]:=floattostr(n);
    jg[2]:=floattostr(kg);
    jg[3]:=floattostr(NSR);
    jg[4]:=floattostr(T0);
    jg[5]:=floattostr(EPS);
  with form2.jgxs.lines do
  begin
    clear;
    add('                          常用優化方法 ——約束隨機法');
    add('                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^');
    add('                                                                               ');
    add('一、初始數據');
    add('===============================================================================');
    Add('   設計變量個數     N = '+jg[1]+'           不等式約束個數  KG = '+jg[2]);
    Add('  -----------------------------------------------------------------------------');
    Add('   隨機方向個數   NSR = '+jg[3]);
    Add('  -----------------------------------------------------------------------------');
    Add('   初始步長        T0 = '+jg[4]+'          收斂精度     EPS = '+jg[5]);
    Add('  -----------------------------------------------------------------------------');

    Add('   設計變量初始點 X0:');
    for ii := 1 to n do Add(#9+#9+#9+'X['+inttostr(ii)+']='+floattostr(x[ii]));
    Add('  -----------------------------------------------------------------------------');
    Add('   設計變量下界 BL:');
    for ii := 1 to n do Add(#9+#9+#9+'BL['+inttostr(ii)+']='+floattostr(BL[ii]));
    Add('  -----------------------------------------------------------------------------');

    Add('   設計變量上界 BU:');
    for ii := 1 to n do Add(#9+#9+#9+'BU['+inttostr(ii)+']='+floattostr(BU[ii]));
    Add('  -----------------------------------------------------------------------------');

    Add('   初始點目標函數值 F(X0)= '+floattostr(FX));
    if kg>0 then
    begin
    Add('  -----------------------------------------------------------------------------');
    Add('   初始點處的不等約束函數值 G(X0):');
    for ii := 1 to kg do Add(#9+#9+#9+#9+'GX['+inttostr(ii)+']= '+formatfloat('0.000000E+00',GX[ii]));
    end;

    add('-------------------------------------------------------------------------------');
    add('                                                              ');
    add('二、計算過程__數據');
    add('===============================================================================');


   end;
   end;
end;

//99999999999999999999999999999999999999999999999999999999999999999
procedure sjxs_2;
var
   ii : integer;
   jg:array[1..400] of string;
begin
  with form1.hfgd do
  begin
    jg[1]:=inttostr(ITE);
    jg[2]:=inttostr(NFX);
  with form2.jgxs.lines do
  begin
    add('                                                                               ');
    add('三、優化結果__數據');
    add('===============================================================================');
    Add('   迭代次數   ITE = '+jg[1]+'         目標函數計算次數     IFX = '+jg[2]);
    Add('  -----------------------------------------------------------------------------');
    Add('   設計變量最優點 X*:');
    for ii := 1 to n do Add(#9+#9+#9+'X['+inttostr(ii)+']= '+formatfloat('0.000000E+00',XL[ii]));

    Add('  -----------------------------------------------------------------------------');
    Add('   最優值 F(X*)= '+floattostr(FX));

    if kg>0 then
    begin
    Add('  -----------------------------------------------------------------------------');
    Add('   最優點處的不等約束函數值 G(X*):');
    for ii := 1 to kg do Add(#9+#9+#9+#9+'GX['+inttostr(ii)+']= '+formatfloat('0.000000E+00',GX[ii]));
    end;

    Add('-------------------------------------------------------------------------------');
    Add('--- STOP --- ');
  end;
end;
end;






end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人国产视频在线观看| 亚洲精品日韩一| 狂野欧美性猛交blacked| 欧美日韩电影一区| 日本特黄久久久高潮| 欧美一区二区三区色| 久草在线在线精品观看| 久久奇米777| 99这里都是精品| 一级女性全黄久久生活片免费| 在线观看不卡视频| 秋霞午夜av一区二区三区| wwwwxxxxx欧美| 波多野结衣中文字幕一区| 一区二区视频在线看| 日韩一区二区三区观看| 国产成人一级电影| 亚洲综合色网站| 欧美不卡激情三级在线观看| 国产91在线观看| 亚洲精品第一国产综合野| 日韩视频在线你懂得| 成人aaaa免费全部观看| 亚洲3atv精品一区二区三区| 久久久久久一二三区| 一本一道久久a久久精品 | 久久精品一区二区三区av| 91久久一区二区| 麻豆精品国产91久久久久久| 国产精品久久久爽爽爽麻豆色哟哟| 色呦呦一区二区三区| 精品一区二区精品| 亚洲一区二区三区四区五区中文| 欧美成人一区二区三区| 91在线观看污| 国产在线观看一区二区| 亚洲高清在线精品| 国产精品福利一区二区三区| 欧美日韩国产高清一区| 99久久免费国产| 国精产品一区一区三区mba视频| 亚洲天堂a在线| 国产亚洲精品7777| 日韩欧美一级精品久久| 在线观看精品一区| eeuss鲁片一区二区三区在线观看| 日韩av午夜在线观看| 亚洲日本欧美天堂| 国产日本一区二区| 日韩一级视频免费观看在线| 在线亚洲一区观看| av亚洲精华国产精华| 国产精品1区二区.| 秋霞影院一区二区| 天天综合色天天综合| 亚洲精品久久久蜜桃| 欧美国产成人在线| 欧美精品一区男女天堂| 欧美一区二区三区日韩视频| 欧美高清视频一二三区| 欧美亚洲尤物久久| 色悠久久久久综合欧美99| a在线播放不卡| 大桥未久av一区二区三区中文| 热久久久久久久| 日本欧美一区二区三区| 偷拍日韩校园综合在线| 亚洲国产精品一区二区www在线| 亚洲同性同志一二三专区| 国产精品二区一区二区aⅴ污介绍| 国产偷国产偷亚洲高清人白洁| 日韩欧美国产不卡| 精品国产亚洲在线| 久久综合给合久久狠狠狠97色69| 日韩一区二区三区四区五区六区| 欧美xxxxx裸体时装秀| 日韩一级免费一区| 欧美成人三级电影在线| 精品欧美久久久| 久久―日本道色综合久久| 久久精品夜色噜噜亚洲aⅴ| 久久先锋影音av鲁色资源| 久久日一线二线三线suv| 精品国产99国产精品| 久久综合九色综合97婷婷| 国产亚洲女人久久久久毛片| 国产免费久久精品| 亚洲精品视频一区| 亚洲成人免费在线| 裸体健美xxxx欧美裸体表演| 老鸭窝一区二区久久精品| 精品午夜久久福利影院| 国产999精品久久| 91亚洲精品乱码久久久久久蜜桃| 日本国产一区二区| 9191国产精品| 久久一区二区三区四区| 国产视频一区在线观看| 一区二区在线免费| 奇米777欧美一区二区| 国产成人免费视频一区| 色天使色偷偷av一区二区| 91精品欧美福利在线观看| 精品粉嫩aⅴ一区二区三区四区| 国产精品理论在线观看| 一区二区三区电影在线播| 日韩av网站在线观看| 成人在线视频一区| 欧美丝袜丝nylons| 国产亚洲一区二区三区四区| 亚洲精品视频免费看| 九一九一国产精品| 91免费看`日韩一区二区| 欧美日韩大陆在线| 中文字幕第一区| 日日夜夜精品视频天天综合网| 国产乱淫av一区二区三区| 在线观看视频一区二区| 欧美精品一区二区三| 一区二区三区av电影| 国产麻豆精品在线| 在线亚洲免费视频| 久久精品在线免费观看| 亚洲bdsm女犯bdsm网站| 高清国产一区二区三区| 欧美一区二区三区白人| 亚洲猫色日本管| 国产成人精品免费| 欧美日韩aaaaa| 国产精品久久久久国产精品日日| 日韩中文欧美在线| 91久久奴性调教| 久久精品亚洲国产奇米99| 午夜精品福利一区二区三区av| 成人精品视频一区二区三区| 91精品国产福利在线观看| 亚洲麻豆国产自偷在线| 粉嫩av亚洲一区二区图片| 日韩视频永久免费| 香蕉成人啪国产精品视频综合网| 国产一区二区三区在线观看免费视频 | 欧美伦理电影网| 日本不卡视频一二三区| 色爱区综合激月婷婷| 国产欧美精品国产国产专区| 久久精品久久精品| 6080日韩午夜伦伦午夜伦| 一区二区三区在线视频免费观看| 成人在线视频一区| 国产日产欧美精品一区二区三区| 另类小说视频一区二区| 欧美精品视频www在线观看 | 亚洲精品ww久久久久久p站| 国产99精品在线观看| 精品动漫一区二区三区在线观看| 亚洲一区二区av在线| 91理论电影在线观看| 中文字幕中文字幕中文字幕亚洲无线| 国内精品第一页| 日韩欧美成人午夜| 激情五月婷婷综合网| 日韩午夜av一区| 九九视频精品免费| 精品乱人伦小说| 国产一二三精品| 久久亚洲私人国产精品va媚药| 日本欧美一区二区三区| 91精品久久久久久蜜臀| 免费成人性网站| 久久综合一区二区| 国产精品91一区二区| 国产欧美日本一区视频| 99久久国产免费看| 日韩码欧中文字| 欧美性一级生活| 午夜精品久久久久久| 日韩欧美国产精品| 国产一级精品在线| 最新日韩av在线| 在线一区二区三区| 日韩中文字幕麻豆| 精品少妇一区二区| 大美女一区二区三区| 亚洲美女视频在线观看| 在线视频一区二区免费| 日韩成人av影视| 久久综合九色综合欧美亚洲| 高清成人免费视频| 亚洲欧美日韩在线| 欧美性色aⅴ视频一区日韩精品| 日韩精品电影在线| 国产婷婷色一区二区三区| 色中色一区二区| 国产91丝袜在线播放0| 国产精品的网站| 欧美日韩一区二区在线观看 | 日韩一区在线免费观看| 欧美三级电影网| 精品一区二区国语对白| 18涩涩午夜精品.www|