//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";