Đăng nhập | Đăng ký

Gặp gỡ những chuyên gia hàng đầu về CNTT

Diễn đàn    Window Form programming    Mã nguồn phần mềm xếp thời khóa biểu đại học : Unisched 4 (source)

Thành viênTrả lời
khanhjin

khanhjin
12  bài
12-05-2009 04:51:54
Đây là mã nguồn mình viết ngày xưa tham dự trí tuệ việt nam, mọi người xem qua thử

http://coder.awas.vn/downloads.ashx?id=e621736be060432599770bb38f348712
 
khanhjin

khanhjin
12  bài
12-05-2009 04:56:47
Phần mềm xếp thời khóa biểu University Scheduling 4.0
Giao diện chương trình.

Từ một bài tập lớn nghiên cứu các thuật toán xếp thời khoá biểu cho các trường đại học (môn trí tuệ nhân tạo), kết hợp việc tìm hiểu nguyên tắc xây dựng TKB chung của một số lượng các trường Đại Học trên toàn Hà Nội. Tôi đã quyết định xây dựng sản phẩm University Scheduling 4.0.

Bài toán TKB không phải là một bài toán mới, nó là một bài toán cũ nhiều người đã dày công và tìm kiếm lời giải chung để giải quyết cho tất cả mọi trường hợp. Tuy nhiên do tính chất của bài toán là quy hoạch lõm nên chúng không bao giờ tìm ra bài toán giải quyết được tất cảc các trường hợp.

Chương trình của tôi đưa ra cũng không nhắm vào mục tiêu ấy mà nhắm vào mục tiêu là một nhóm các trường đại học có quy chế đào tạo giống với với mô hình trường Đại Học Bách Khoa Hà Nội.

Giao diện thân thiện đẹp – Các chức năng thường dùng được đưa ra màn hình chính.

Các tính năng nổi bật:

* Giao diện thân thiện dễ dùng
* Tốc độ thuật toán rất nhanh
* Có khả năng sử lý với dữ liệu rất lớn (theo thử nghiệm là > 10.000 đối tượng)
* Có khả năng kết hợp nhiều phòng ban trong việc xây dựng một thời khoá biểu lớn.
* Phân quyền rõ ràng
* Chức năng ghép các lớp (hầu hết các chương trình trước đây không có chức năng này)
* Các loại báo cáo đa dạng, đẹp
* Sử dụng bảng mã chuẩn UNICODE trong hiển thị tiếng Việt
* Nhiều công nghệ được tích hợp với chương trình (bảo mật , backup …)

Sáng tạo lớn nhất trong chương trình đó là việc đưa ra một qui chuẩn của việc xếp lịch. Đó là định nghĩa ra đơn vị sự kiện. Đó là đơn vị nhỏ nhất thông suốt sử dụng quá trình xếp lịch. Các chương trình phần mềm trước đây không đưa ra được định nghĩa cho các sự kiện cần xếp lịch nên không thể có một qui chuẩn cho việc qui tất cả các bài toán của hầu hết các trường thành một bài toán chung.

Sau khi có định nghĩa của các sự kiện, bài toán với các mô hình đào tạo khác nhau đều qui về bài toán tối ưu tô màu bản đồ. Tất nhiên đối với mỗi mô hình đào tạo chúng ta đều phải xây dựng một thuật toán khác. Nhưng xây dựng được khung cơ sở để dựa vào đó chúng ta có thể viết các thuật toán đã chiếm 70% công việc của quá trình xếp lịch.

Trong chương trình dự thi tôi đã đưa ra 2 cách để xếp thời khoá biểu

* Tự động hoàn toàn
* Xếp lịch bằng tay tuỳ theo các yêu cầu bên ngoài khác.

Chúng ta biết rằng các yêu cầu đối với một TKB là rất đa dạng, nhiều nên việc xây dựng một chương trình thông minh:

* nhận yêu cầu của con người
* Tự động sử lý đáp ứng với yêu cầu đó

Là không thể. Vì trong quá trình ấy chúng ta phải đơn vị hoá các yêu cầu của con người thành số mà máy tính hiểu được. Nên việc đó là không thể. Nên tôi đã đưa ra một cách mà con người có thể tác động vào đó để có thể đưa ra kết quả như mong muốn. Đó là xếp lịch = tay.

Đối với các chương trình tuyên bố chương trình có thể tự động hoàn toàn đáp ứng mọi nhu cầu của người dùng là không khả thi.

Ví dụ:

* Sau khi chạy xong thuật toán xếp lịch. Trưởng khoa yêu cầu tôi không dạy vào các tiết đầu tiên trong ngày (1,2) vì tôi phải chủ trì các buổi họp.
* Nếu không có xếp lịch = tay chúng ta không có cách nào thay đổi được kết quả cần in ra của TKB. Chỉ có một cách là cách chức ông trưởng khoa đó và để một ông nào khác lên thay.

Ví dụ về việc không thể tìm ra kết quả:

* Khoa Triết học của hầu hết các trường Đại Học là khoa có mật độ giảng dạy lớn nhất. Do đó các giáo viên ở khoa này thường phải dạy rất nhiều. Có những tuần số tiết mà các giáo viên đó giảng dạy vượt quá khả năng của giáo viên đó (80 tiết / tuần) chẳng hạn.
* Trong khi chúng ta có 1 tuần có 6 ngày. Mỗi ngày 12 tiết (6 sáng, 6 chiều) tức là có 6x12=72 tiết. Nhưng giáo viên đó phải dạy đến 80.
* Suy nghĩ khi có máy tính mọi việc đều được giải quyết là không khả thi. Và đó là một trong các lý do không thể tự động hoàn toàn giải quyết. Vì việc các chương trình máy tính cố tìm cách xếp 80 tiết vào 72 ô là việc không thể. Cố tìm sẽ dẫn đến treo máy.
* Có một cách giải quyết không mang tính máy tính mà mang tính hành chính đó là trong tuần đó tìm người giảng dạy thay.

Với tất cả các yêu cầu đó chương trình của tôi có mục tiêu khiêm tốn hơn:

* Tự động tìm cách xếp lịch cho đại đa số các trường hợp
* Những trường hợp khó nhiều ràng buộc sẽ được người dùng tự xếp bằng tay.

Với mục tiêu như thế để sử dụng tối đa khả năng của chương trình. Người sử dụng nên tuân thủ các bước:

* Xếp tay cho các trường hợp yêu cầu đặc biệt, khó trước.
* Các trường hợp đơn giản xếp tự động sau.

Một trong những điểm khó khác của phần mềm đó là việc hiển thị TKB. Do nhóm các tiết học là không giống nhau có thể là 2, 3, 4 tiết liên tiếp nên để hiển thị TKB kéo theo chúng ta phải trộn các cột. Khi sử dụng các phần mềm Crystal Report, Active Report, C1 Report chúng ta không thể xây dựng các báo cáo động dạng này. Chương trình đã giải quyết bằng cách Export dữ liệu ra Excel. Và công việc in ấn thực hiện trên Excel. Đó là một điểm rất mạnh của chương trình.

Với việc sử dụng tính năng này chúng ta có thể sinh ra rất nhiều các loại báo cáo khác nhau.

tài liệu download tại đây

http://coder.awas.vn/downloads.ashx?id=430b42fff34940b0b50156c404532fb5

# Yahoo: ngk_succ
# Email : khanhnd@awas.vn
# phone : (04) 2247 1200
# mobile : 093 690 6900
 
kaola


1  bài
10-12-2009 11:03:05
cám ơn nhiều
 
sunz1990


1  bài
26-02-2010 12:17:12
thanks bạn :D bài hay quá
 
nhbach2203


2  bài
06-05-2010 10:26:05
thanks, rất bổ ích đấy.
Best regards.
 
dctamtn


1  bài
24-06-2010 06:07:08
Gioi thiệu khá hấp dẩn, không biết nội dung như thế nào? xem thử đả!!!
 

Chủ đề gần đây :

Cùng loại :

Tên file Người đăng Ngày Lượt
killforever.rar
Script diệt virus forever.exe (lây nhiễm qua USB) mà không cần cài lại window
aspnet 7/28/2010 6:51:30 AM 24
CSharp Coding Standards.pdf
C# Coding standard, for all user, quy tắc viết mã lập trình c# dotnet.
aspnet 6/1/2010 8:27:39 AM 197
weather_forex_gold.rar
module DNN : "vàng + thời tiết + tỷ giá ngoại tệ" của seekill
coder 3/11/2010 3:50:09 AM 343
Training DotNetNuke.zip
Tài liệu hướng dẫn cài đặt DNN, tạo module DNN đơn giản, nâng cao
quanlv 9/30/2009 9:11:36 AM 960
Viet va them 1 module don gian vao website.doc
Hướng dẫn viết module đơn giản trên DNN (word) có hình, gửi bởi vinahana
aspnet 9/18/2009 6:15:24 PM 653
Moduel NEWs Demo.zip
Một số module bao gồm: News, WorkScheduler, QA, Comment, Menu, ...
quanlv 8/22/2009 10:44:15 AM 983
MenuDNN5.rar
Menu DNN 51 Page.aspx
aspnet 7/21/2009 12:22:38 PM 740
diendan.zip
Cài đặt diễn đàn (VSP) chỉ với 4 bước.
aspnet 6/15/2009 2:18:13 AM 533
roll_updown.zip
Roll up, roll down news list using javascript, simple, easy to use.
radiogaga 6/1/2009 11:29:51 AM 210
rotator-1.0.0.rar
Auto Scroll News - tự động cuộn tin tức bằng JS
dotnetvn 5/30/2009 3:21:22 PM 289
captcha2.rar
CAPTCHA sinh ngẫu nhiên : size, font, position, color ... vẽ line gây nhiễu chống reCAPTCHA bot.
tieuphu 5/30/2009 2:34:42 PM 279
MenuDNN.zip
Menu Dọc cho DNN (Tác giả Võ Thế Quang)
biennv 5/27/2009 8:07:47 AM 684
Gioi_thieu_san_pham_unisched4.zip
Giới thiệu phần mềm xếp thời khóa biểu đại học (University Scheduling 4.0) : áp dụng cho mô hình xếp thời khóa biểu niên chế, tại các trường đại học và cao đẳng tại việt nam
khanhjin 5/12/2009 5:00:02 PM 1056
HitCounterInDatabaseASPNET.zip
HitCounter
nguyentx 4/20/2009 4:38:04 PM 287
s3Slide.rar
Slide show chuyên nghiệp, giống tintuconline.com.vn
coder 4/9/2009 9:34:41 AM 981
XMLPROG.zip
XML Programing C# dotnet
aspnet 4/4/2009 10:02:43 AM 263
menu_vnexpress.rar
Tạo menu giống vnexpress = xsl transform, C# dotnet, javascript(Toàn bộ mã nguồn).
coder 3/30/2009 10:14:50 PM 1200
DesktopModules.rar
CMS dotnetnuke + Image Library + Core CMS (DNN Data Provider) version 1.1
aspnet 3/30/2009 5:23:14 PM 895
AllUsers.zip
Hiển thị tất cả user của hệ thống Windows xp, C# source
aspnet 3/19/2009 12:29:07 PM 256
173 Funtions of Excel.XLS
173 Funtions of Excel.XLS
duc14s 3/9/2009 6:42:50 PM 246
CODERVN.NET
Công ty cổ phần công nghệ và dịch vụ AWAS
Công ty cổ phần công nghệ và dịch vụ AWAS, cổng thông tin, chính phủ điện tử, phần mềm quản lý điểm, quản lý sinh viên, http://awas.vn, http://awas.com.vn, phần mềm ứng dụng, dịch vụ công trực tuyến, thiết kế website, thiet ke web, thiết kế web, điện lực, phần mềm quản lý đào tạo, cao đẳng, đại học,cổng thông tin tích hợp, cổng thông tin điện tử, webportal, thư viện điện tử, electric library, library online, email, web, quản lý quan hệ khách hàng, CRM, dịch vụ công trực tuyến, phần mềm hành chính một cửa,