模拟退火算法--求解货郎担问题(C#实现)(3)

王朝c#·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

//To deal with the begging and end special codition .

if(y==cityNum-1)

y2 = 0;

if(y==0)

y1 = cityNum - 1;

if(x==cityNum-1)

x2 = 0 ;

if(x==0)

x1 = cityNum - 1;

if(x<y)

{

distinct = city[(int)currentPath[x1],(int)currentPath[y]]+city[(int)currentPath[x],(int)currentPath[y2]]-

city[(int)currentPath[x1],(int)currentPath[x]]-city[(int)currentPath[y],(int)currentPath[y2]];

}

if(y<x)

{

distinct = -(city[(int)currentPath[y],(int)currentPath[y2]]+city[(int)currentPath[x1],(int)currentPath[x]]+city[(int)currentPath[cityNum - 1],(int)currentPath[0]]-

city[(int)currentPath[0],(int)currentPath[y2]]-city[(int)currentPath[x1],(int)currentPath[cityNum - 1]]-city[(int)currentPath[x],(int)currentPath[y]]);

}

return distinct;

}

#region

private void SetNewState(ArrayList currentP,ArrayList newP)

{

currentP.Clear();

for(int j=0;j<newP.Count;j++)

{

currentP.Add(newP[j]) ;

}

}

public void SetStartTemperature(int t)

{

Temperature = t;

}

public void SetMarkovLength(int t)

{

MarkovLength = t;

}

public void SetDiminishedRate(double t)

{

DiminishedRate = t;

}

public void SetDiminish_T_num(int t)

{

Diminish_T_num = t;

}

public void SetAIM(int t)

{

AIM = t;

}

#endregion

}

}

------------------

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

using System.IO;

using System.Threading;

namespace SAA

{

/// <summary>

/// Form1 的摘要说明。

/// </summary>

public class Form1 : System.Windows.Forms.Form

{

private System.Windows.Forms.MainMenu mainMenu1;

private System.Windows.Forms.MenuItem menuItem1;

private System.Windows.Forms.MenuItem menuItem2;

private System.Windows.Forms.MenuItem menuItem4;

private System.Windows.Forms.MenuItem menuItem6;

private System.Windows.Forms.MenuItem menuItem7;

private System.Windows.Forms.MenuItem menuItem8;

private System.Windows.Forms.MenuItem menuItem9;

private System.Windows.Forms.MenuItem menuItem10;

private System.Windows.Forms.MenuItem menuItem12;

private System.Windows.Forms.Panel panel1;

private System.Windows.Forms.TextBox textBox4;

private System.Windows.Forms.TextBox textBox3;

private System.Windows.Forms.Label label4;

private System.Windows.Forms.Label label3;

private System.Windows.Forms.TextBox textBox2;

private System.Windows.Forms.Label label2;

private System.Windows.Forms.TextBox textBox1;

private System.Windows.Forms.Label label1;

private System.Windows.Forms.Button button1;

private System.Windows.Forms.Panel panel2;

private System.Windows.Forms.Label label7;

private System.Windows.Forms.Label label6;

private System.Windows.Forms.Label Author;

private System.Windows.Forms.RichTextBox richTextBox1;

private System.Windows.Forms.Label label5;

private System.Windows.Forms.TextBox textBox5;

private System.Windows.Forms.Button button2;

private SAA saa = new SAA();

private System.Windows.Forms.Label label8;

private System.Windows.Forms.Label label9;

private System.Windows.Forms.Button button3;

private System.Windows.Forms.TabControl tabControl1;

private System.Windows.Forms.TabPage TSP_SAA;

private System.Windows.Forms.TabPage CITY_MAP;

private System.Windows.Forms.Label label10;

private System.Windows.Forms.Button button5;

private System.Windows.Forms.Panel panel3;

private System.Windows.Forms.PictureBox pictureBox1;

private System.Windows.Forms.Button button4;

private Graphics drawer;

private Thread draw;

private int[,] city = new int[144,2];

/// <summary>

/// 必需的设计器变量。

/// </summary>

private System.ComponentModel.Container components = null;

public Form1()

{

//

// Windows 窗体设计器支持所必需的

//

InitializeComponent();

//

// TODO: 在 InitializeComponent 调用后添加任何构造函数代码

//

}

/// <summary>

/// 清理所有正在使用的资源。

/// </summary>

protected override void Dispose( bool disposing )

{

if( disposing )

{

if (components != null)

{

components.Dispose();

}

}

base.Dispose( disposing );

}

#region Windows 窗体设计器生成的代码

/// <summary>

/// 设计器支持所需的方法 - 不要使用代码编辑器修改

/// 此方法的内容。

/// </summary>

private void InitializeComponent()

{

this.mainMenu1 = new System.Windows.Forms.MainMenu();

this.menuItem1 = new System.Windows.Forms.MenuItem();

this.menuItem2 = new System.Windows.Forms.MenuItem();

this.menuItem4 = new System.Windows.Forms.MenuItem();

this.menuItem6 = new System.Windows.Forms.MenuItem();

this.menuItem7 = new System.Windows.Forms.MenuItem();

this.menuItem8 = new System.Windows.Forms.MenuItem();

this.menuItem9 = new System.Windows.Forms.MenuItem();

this.menuItem10 = new System.Windows.Forms.MenuItem();

this.menuItem12 = new System.Windows.Forms.MenuItem();

this.panel1 = new System.Windows.Forms.Panel();

this.button3 = new System.Windows.Forms.Button();

this.button2 = new System.Windows.Forms.Button();

this.textBox5 = new System.Windows.Forms.TextBox();

this.label5 = new System.Windows.Forms.Label();

this.textBox4 = new System.Windows.Forms.TextBox();

this.textBox3 = new System.Windows.Forms.TextBox();

this.label4 = new System.Windows.Forms.Label();

this.label3 = new System.Windows.Forms.Label();

this.textBox2 = new System.Windows.Forms.TextBox();

this.label2 = new System.Windows.Forms.Label();

this.textBox1 = new System.Windows.Forms.TextBox();

this.label1 = new System.Windows.Forms.Label();

this.button1 = new System.Windows.Forms.Button();

this.panel2 = new System.Windows.Forms.Panel();

this.label7 = new System.Windows.Forms.Label();

this.label6 = new System.Windows.Forms.Label();

this.Author = new System.Windows.Forms.Label();

this.richTextBox1 = new System.Windows.Forms.RichTextBox();

this.label8 = new System.Windows.Forms.Label();

this.label9 = new System.Windows.Forms.Label();

this.tabControl1 = new System.Windows.Forms.TabControl();

this.TSP_SAA = new System.Windows.Forms.TabPage();

this.CITY_MAP = new System.Windows.Forms.TabPage();

this.label10 = new System.Windows.Forms.Label();

this.button5 = new System.Windows.Forms.Button();

this.panel3 = new System.Windows.Forms.Panel();

this.pictureBox1 = new System.Windows.Forms.PictureBox();

this.button4 = new System.Windows.Forms.Button();

this.panel1.SuspendLayout();

this.panel2.SuspendLayout();

this.tabControl1.SuspendLayout();

this.TSP_SAA.SuspendLayout();

this.CITY_MAP.SuspendLayout();

this.panel3.SuspendLayout();

this.SuspendLayout();

//

// mainMenu1

//

this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {

this.menuItem1,

this.menuItem6,

this.menuItem10,

this.menuItem12});

//

// menuItem1

//

this.menuItem1.Index = 0;

this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {

this.menuItem2,

this.menuItem4});

this.menuItem1.Text = "Operation";

//

// menuItem2

//

this.menuItem2.Index = 0;

this.menuItem2.Text = "Start";

//

// menuItem4

//

this.menuItem4.Index = 1;

this.menuItem4.Text = "Exit";

this.menuItem4.Click += new System.EventHandler(this.menuItem4_Click);

//

// menuItem6

//

this.menuItem6.Index = 1;

this.menuItem6.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {

this.menuItem7,

this.menuItem8,

this.menuItem9});

this.menuItem6.RadioCheck = true;

this.menuItem6.Text = "Arithmetic";

第一頁    上一頁    第3頁/共5頁    下一頁    最後頁
第01頁 第02頁 第03頁 第04頁 第05頁 
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航