Cài đặt các form

Một phần của tài liệu Giai thuật di truyền (Trang 42 - 50)

3. Cài đặt ứng dụng

3.2.2. Cài đặt các form

Như đã thiết kế ở phần giao diện người dùng phần xử lý cho các chức năng của các form được cài đặt như sau:

 Form chính

Phần xử lý quan trọng nhất của form này cũng như của chương

trình nằm trong sự kiện Click của nút tìm kiếm. Việc khởi tạo

quần thể và thiết lập một số tham số đầu vào của giải thuật di truyền đều được thực hiện trong sự kiện này.

private void btnSearch_Click(object sender, EventArgs e) {

Populations pop = null; if (_listGenes.Count > 0) {

int popSize; int generation;

if (int.TryParse(txtPopSize.Text,out popSize) && int.TryParse(txtGeneration.Text,out generation)) {

pop = new Populations(popSize,

generation, _listGenes); }

else {

if (MessageBox.Show("Số thế hệ hoặc số cá thể nhập vào không đúng định dạng.\nBạn có muốn tiếp tục với giá trị mặc định đã được cài đặt?","Thông báo",

MessageBoxButtons.YesNo) == DialogResult.Yes) {

pop = new Populations(_listGenes); }

}

if (pop != null) {

double sec;

pop.GaFuntion(progressBar1, out sec); _xBest = pop.XBest; OutPut(); } } else {

MessageBox.Show("Danh sách địa điểm trống,hãy thêm các địa điểm để bắt đầu!");

} }

 Form cài đặt

Việc lưu trữ các cài đặt của chương trình rất đơn giản được thực

hiện ở sự kiện Click của nút “lưu cài đặt” thông qua các phương thức get, set của thuộc tính trong đối tượng SettingServices:

private void btnSave_Click(object sender, EventArgs e) {

int inversionRate, maxGeneration, maxPopulationSize, mutateRate, selectionRate;

if (int.TryParse(txtInversionRate.Text, out inversionRate) && int.TryParse(txtMaxGeneration.Text,

out maxGeneration) &&

int.TryParse(txtMaxPopulationSize.Text, out maxPopulationSize) && int.TryParse(txtMutateRate.Text,

out mutateRate) && int.TryParse(txtSelectionRate.Text,

{ Services.SettingServices .InversionRate = inversionRate; Services.SettingServices .MutateRate = mutateRate; Services.SettingServices .SelectionRate = selectionRate; Services.SettingServices .DefaultGeneration = maxGeneration; Services.SettingServices .DefaultPopulationSize = axPopulationSize; MessageBox.Show("Lưu cài đặt thành công!"); Close();

} else {

MessageBox.Show("Các tham số không đúng định rạng! xin hãy kiểm tra lại.");

} }

 Form quản lý địa chỉ

Việc thêm sửa xóa địa chỉ được thực hiện thông qua đối tượng

GeneServices.

- Thêm và Sửa địa chỉ được xử lý chung trong một sự kiện: private void btnSave_Click(object sender, EventArgs e) {

double x, y;

if (!string.IsNullOrEmpty(txtName.Text) && double.TryParse(txtX.Text, out x) && double.TryParse(txtY.Text, out y)) {

if (string.IsNullOrEmpty(_codeEditing)) { var gene = new Gene

{ Name = txtName.Text, Latitude = x, Longitude = y }; Services.GeneServices.Add(gene); } else {

var gene = new Gene { Name = txtName.Text, Latitude = x, Longitude = y, Code = _codeEditing }; Services.GeneServices.Edit(gene); } this.Close(); } else {

MessageBox.Show("thông tin sai định rạng, hoạc trống, hay kiểm tra lại không tin để tiếp tục");

} }

-Xóa địa chỉ:

private void btnDelete_Click(object sender, EventArgs e) {

var row = gridList.SelectedRows; if (row.Count > 0)

{

if (MessageBox.Show("Bạn có chắc muốn" + " xóa bản ghi này?", "thông báo",

MessageBoxButtons.YesNo) == DialogResult.Yes) { var code=row[0].Cells[1].Value.ToString(); Services.GeneServices.Remove(code); _source.ResetBindings(true); } } else { MessageBox.Show("Không có bản ghi" + " nào được chọn!", "thông báo"); }

4. Kiểm thử ứng dụng

Kiểm thử ứng dụng với những bộ dữ liệu sau với cấu hình hệ thống: Hệ điều hành Windows 7 64bit, bộ vi xử lý Intel® Core™ i3 2,5GHZ, bộ nhớ trong 4 GB:

4.1. Bộ dữ liệu 1

4.2. Bộ dữ liệu 2

Hình 24

4.3. Bộ dữ liệu 3

Hình 26

C - KẾT LUẬN

Giải thuật di truyền là kỹ thuật chung giúp giải quyết bài toán bằng cách mô phỏng sự tiến hóa trong tự nhiên dựa theo thuyết tiến hóa của Darwin trong điều kiện quy định sẵn của môi trường. Mục tiêu của giải thuật di truyền không nhằm đưa ra lời giải chính xác mà giải thuật đưa ra lời giải tương đối tối ưu.

Kết quả chính của đồ án là tìm hiểu và nghiên cứu đưa ra những vấn đề sau:  Nghiên cứu giải thuật di truyền.

 Nghiên cứu bài toán Người đưa thư.

 Cài đặt ứng dụng mô tả giải thuật di truyền giải quyết bài toán Người đưa thư.

TÀI LIỆU THAM KHẢO

Trong quá trình thực hiện đồ án em đã tham khảo những nguồn tài liệu chính sau để hoàn thành đồ án của mình:

 Tài liệu của TS.Phạm Thanh Hà cung cấp

 Từ điển Bách khoa toàn thư Wikipedia website: http://wikipedia.org  Công cụ tìm kiếm Google Search website: http://google.com.vn

Một phần của tài liệu Giai thuật di truyền (Trang 42 - 50)

Tải bản đầy đủ (PDF)

(50 trang)