GIỚI THIỆU TỔNG QUAN
Lý do chọn đề tài
Các điều kiện kinh tế thay đổi nhanh chóng như cạnh tranh toàn cầu, tỷ suất lợi nhuận giảm, nhu cầu của khách hàng về sản phẩm chất lượng cao, sản phẩm đa dạng và nhu cầu giảm lead time có tác động lớn đến các ngành sản xuất Để tồn tại và phát triển, các doanh nghiệp phải giành được lợi thế cạnh tranh Bên cạnh các yếu tố về thị trường, mẫu mã, chất lượng,… các doanh nghiệp còn phải chú ý đến việc nâng cao hiệu quả sản xuất, sử dụng nguồn lực hợp lý, giảm lead time,… từ đó nâng cao sự hài lòng của khách hàng Vì vậy, các doanh nghiệp đã và đang ngày càng quan tâm đến các hoạt động điều độ sản xuất Đối với hoạt động sản xuất của công ty sản xuất nhựa, nơi tôi đang làm việc, mô hình sản xuất tương đối phức tạp do chủ yếu là mô hình sản xuất theo đơn phục vụ yêu cầu của khách hàng Tôi nhận thấy vấn đề trễ đơn hàng đang là một vấn đề cấp thiết cần được giải quyết Với tỷ lệ trễ đơn hàng trung bình vào khoảng 14% đã gây ảnh hưởng đến mức phục vụ khách hàng, nguy cơ mất khách hàng và làm giảm lợi thế cạnh tranh của doanh nghiệp Vấn đề này xảy ra chủ yếu do hoạt động điều độ ở công ty chưa được thực hiện tốt Người quản đốc xưởng điều độ chủ yếu dựa trên kinh nghiệm chứ không có một tính toán hay một giải thuật cụ thể nào Hơn thế nữa, công ty đang mong muốn các đơn hàng được phân bố gia công một cách hợp lý để giảm thiểu chi phí lưu trữ, chi phí phạt trễ đơn hàng và những rủi ro có thể có Chính vì vậy, tôi đề xuất phương án xây dựng phần mềm điều độ kết hợp sử dụng các thuật toán điều độ cụ thể để hỗ trợ công ty thực hiện việc này Phạm vi ứng dụng của đề tài là cho các doanh nghiệp vừa và nhỏ - vẫn còn đang điều độ dựa trên kinh nghiệm và chưa áp dụng giải thuật cụ thể nào.
Mục đích và mục tiêu đặt ra
Mục đích của đề tài là xây dựng hệ thống điều độ cho công ty thông qua mô hình điều độ nhằm tối thiểu số lượng đơn hàng trễ, đặc biệt là các đơn hàng quan trọng
Mục tiêu của đề tài cụ thể như sau:
Luận văn thạc sĩ Trang 2
- Thu thập bộ số liệu ứng với mỗi loại sản phẩm để phục vụ điều độ sản xuất
- Dự tính các nguồn lực như số lượng máy móc thiết bị, nguyên liệu và lao động cần thiết để hoàn thành khối lượng sản phẩm
- Xây dựng lịch trình sản xuất, bao gồm các công việc chủ yếu là xác định số lượng và khối lượng các công việc trong một khoảng thời gian nhất định, tổng thời gian phải hoàn thành tất cả công việc, thời điểm bắt đầu và kết thúc của từng công việc, thứ tự thực hiện các công việc
- Phân giao công việc và thời gian phải hoàn thành trong những khoảng thời gian nhất định cho từng bộ phận, từng người, từng máy…
- Xử lý, thay đổi kế hoạch điều độ linh động khi gặp phải các trường hợp bất thường như đơn hàng đột xuất, máy hư,…
Đối tượng và phạm vi nghiên cứu
- Phạm vi công việc: Điều độ đơn hàng
- Phạm vi số liệu: Thu thập số liệu các đơn hàng từ tháng 01/2021 – 04/2022
- Phạm vi sản phẩm: Nghiên cứu việc lập kế hoạch sản xuất và điều độ cho 23 dòng sản phẩm nắp bàn cầu tại Công ty Cổ phần Nhựa C.H.A
Luận văn thạc sĩ Trang 3
CƠ SỞ LÝ THUYẾT
Khái quát chung
Điều độ (Scheduling) là một thuật ngữ chuyên môn diễn tả quá trình bố trí, sắp xếp nhân lực và thiết bị máy móc theo một trình tự nhất định để đảm bảo vận hành sản xuất và dịch vụ theo một nhiệm vụ nhất định
Chức năng của điều độ trong một công ty là sử dụng các kỹ thuật toán học hay một số các phương pháp để phân phối các nguồn tài nguyên có hạn để xử lý công việc Một sự phân phối tài nguyên thích hợp sẽ cho phép công ty đưa ra được mục tiêu tối ưu và đạt được mục tiêu này Các đơn đặt hàng được bắt đầu đem đi sản xuất phải được xử lý bằng máy móc trong một trung tâm làm việc theo một trình tự cho trước Quá trình xử lý các công việc thỉnh thoảng có thể bị trễ hạn nếu một máy nào đó bị bận và sự chiếm ưu tiên có thể xuất hiện khi một công việc có mức ưu tiên cao hơn đến các máy và phải được xử lý ngay lập tức Các sự kiện không mong muốn trong khu sản xuất, như các máy móc hư hỏng hay thời gian sản xuất dài hơn thời gian mong muốn cũng phải được tính vào, vì nó có thể có tác động quan trọng đến sự điều độ Phát triển một bảng điều độ chi tiết của các công việc cần được thực hiện để giúp cho việc duy trì các hoạt động điều khiển và năng suất
Quá trình điều độ không chỉ bị tác động bởi khu vực sản xuất trong nhà máy mà còn chịu ảnh hưởng của quá trình lên kế hoạch sản xuất, để có thể điều khiển việc lập kế hoạch từ trung hạn đến dài hạn của kế hoạch tổng thể Quá trình này tập trung vào việc tối ưu kế hoạch sản xuất các sản phẩm của công ty, và việc phân bố các nguồn tài nguyên dài hạn dựa trên mức tồn kho, dự báo nhu cầu và các yêu cầu về nguồn tài nguyên Các quyết định được ra tại mức kế hoạch cao hơn này có thể tác động đến quá trình điều độ Hình 2.1 mô tả dòng thông tin trong một hệ thống sản xuất
Luận văn thạc sĩ Trang 4
Hình 2.1: Đồ thị dòng thông tin trong một hệ thống sản xuất
Ký hiệu
Các ký hiệu sau được sử dụng:
- Thời gian xử lý công việc j (Processing Time) pj: Thời gian xử lý pj là thời gian công việc j đang xử lý trên máy
- Ngày bắt đầu sản xuất (Release date) rj: Là thời gian công việc đến tại hệ thống, đó là thời gian sớm nhất mà một công việc j có thể bắt đầu
- Ngày tới hạn (Due date) dj: Là ngày công việc j cần phải hoàn tất, là ngày phải giao hàng cho khách
Luận văn thạc sĩ Trang 5
- Trọng số (Weight) wj: Trọng số wj của công việc j là một hệ số ưu tiên, biểu thị mức độ quan trọng của công việc j so với các công việc khác trong hệ thống
- Thời gian hoàn thành (Completion Time) Cj: Là thời gian hoàn thành công việc j
- Thời gian trễ đại số (Lateness) Lj:
Lj sẽ mang giá trị dương nếu công việc thật sự trễ và giá trị âm nếu công việc được thực hiện sớm hơn ngày tới hạn
- Thời gian trễ (Tardiness) Tj:
Tj do vậy chỉ mang giá trị dương hoặc không.
Các đặc điểm của quá trình và các ràng buộc
Xử lý công việc có nhiều đặc điểm riêng biệt và nó thường có các ràng buộc riệng
2.3.1 Các ràng bu ộ c v ề s ự trướ c – sau (Precedence Constraints)
Trong bài toán điều độ một công việc thường chỉ có thể bắt đầu khi mà một số các công việc cho trước đã hoàn thành Các ràng buộc này được xem như là các ràng buộc về sự ưu tiên và được mô tả bởi đồ thị các ràng buộc ưu tiên (Precedence Constraints Graph) Mỗi đồ thị ràng buộc ưu tiên có thể có một cấu trúc riêng biệt
2.3.2 Các ràng bu ộ c v ề l ộ trình (Routing Constraints)
Các ràng buộc về đường đi chỉ rõ đường đi của công việc qua một hệ thống Một công việc nào đó có thể bao gồm nhiều thao tác, mà các thao tác này cần được xử lý trên một số máy riêng biệt theo một trật tự nhất định nào đó Các ràng buộc về đường đi rất thường gặp trong các môi trường sản xuất
2.3.3 Các ràng bu ộ c v ề nâng chuy ể n v ậ t li ệ u (Material Handle Constraints)
Các hệ thống lắp ráp hiện tại thường có các hệ thống nâng chuyển vật liệu, hệ thống này sẽ vận chuyển các công việc từ một trạm máy công cụ (workcenter) này sang một trạm khác Các mức độ tự động của các hệ thống nâng chuyển vật liệu phụ thuộc vào mức độ tự động của các trạm
Một hệ thống nâng chuyển vật liệu cần có một sự phụ thuộc chặt chẽ vào thời gian bắt đầu và thời gian hoàn thành của các công việc trước nó Hơn nữa, sự có mặt của hệ thống nâng chuyển vật liệu này sẽ giới hạn số lượng các không
Luận văn thạc sĩ Trang 6 gian đệm, từ đó sẽ lần lượt hạn chế số lượng thành phẩm (việc còn đọng trong quá trình WIP)
2.3.4 Th ờ i gian chu ẩ n b ị và chi phí ph ụ thu ộ c vào trình t ự công vi ệ c (Sequence Dependent Setup Times and Costs)
Các máy móc cần phải được cấu hình lại (reconfigure) hay làm sạch giữa các công việc Quá trình này được gọi là một changeover hay set up Nếu thời gian set up phụ thuộc vào công việc vừa hoàn tất và công việc sẽ bắt đầu kế đó thì ta gọi là thời gian set up phụ thuộc vào trình tự công việc Nếu công việc j được theo sau bởi công việc k trên máy i thì thời gian set up sẽ được ký thiệu là sijk
Bên cạnh đó, set up còn bao gồm các chi phí khác dưới hình thức lao động, sự lãng phí các nguyên liệu thô,…
Trong quá trình sản xuất, có một số sự kiện xảy ra làm cho công việc bị ngắt lại với sự đồng ý của các công việc khác, chẳng hạn như, có một yêu cầu cấp bách có độ ưu tiên cao hơn đến một máy nào đó và ngắt ngang công việc hiện tại Công việc đó là công việc có quyền ưu tiên Có nhiều loại quyền ưu tiên Tùy thuộc vào dạng ưu tiên, các công việc đang làm không bị mất đi, mà sau khi làm xong công việc ưu tiên, nó sẽ được tiếp tục ngay vị trí nó đã dừng lại Dạng này được gọi là lấy lại quyền ưu tiên (Preemption Resume) Có một dạng ưu tiên khác là khi làm xong công việc ưu tiên, các xử lý đã làm trước khi có công việc ưu tiên bị mất đi và ta phải bắt đầu lại Dạng này được gọi là ưu tiên lặp lại (Preemptive Repeat)
2.3.6 Các ràng bu ộ c v ề th ờ i gian ch ờ và không gian kho (Storage Space and Waiting Time Constraints)
Trong nhiều hệ thống sản xuất, đặc biệt là các hệ thống sản xuất các sản phẩm cỡ lớn, lượng không gian có sẵn cho WIP thì có giới hạn Ràng buộc này đưa ra một giới hạn trên cho số các công việc đang chờ một máy nào đó
2.3.7 S ả n xu ất để s ẵ n hay s ả n xu ất theo đơn đặ t hàng (Make to Stock and Make to Order)
Một nhà máy sản xuất có thể chọn lựa để cất giữ một số loại hàng nào đó trong kho, vì các loại hàng này có nhu cầu đều đặn và không có rủi ro do bị lỗi thời Quyết định sản xuất hàng để sẵn trong kho ảnh hưởng đến sự điều độ vì
Luận văn thạc sĩ Trang 7 các loại hàng này được sản xuất, sau đó cất vào kho và không có một ngày tới hạn chặt chẽ
Khi tỷ lệ nhu cầu (Demand rate) là cố định và bằng hằng số, tỷ lệ nhu cầu cho loại hàng j được ký hiệu là gj Trong trường hợp nhu cầu là bất định, sự sản xuất theo kích cỡ lô sẽ được cân nhắc giữa chi phí set up và các chi phí tồn kho Chi phí tồn kho không bao giờ bằng không, vì sản phẩm sẽ luôn được sản xuất để bổ sung vào kho Trong trường hợp nhu cầu là ngẫu nhiên, nhà máy chỉ sản xuất đủ để bổ sung thêm một lượng tồn kho khi mà lượng hàng trong kho giảm xuống một mức nào đó Mức độ hàng tồn kho mà tại đó nhà máy tiếp tục sản xuất thêm sẽ phụ thuộc vào tính hay thay đổi hay không của loại nhu cầu, trong khi đó lượng hàng được sản xuất lại phụ thuộc vào chi phí set up và chi phí lưu giữ hàng trong kho
Ngược lại, các công việc làm theo đơn đặt hàng lại có các ngày tới hạn riêng, và lượng hàng được sản xuất sẽ được xác định bởi khách hàng Một số nhà máy sản xuất một phần theo đơn đặt hàng và một phần để sẵn trong kho
2.3.8 Các ràng bu ộ c v ề các tiêu chuẩ n ch ọ n máy móc (Machine-eligibility Constraints)
Trong môi trường máy song song, công việc j thường không được xử lý chỉ trên một máy bất kỳ nào đó, mà thường xử lý trên một máy mà máy này phụ thuộc vào một nhóm các nhóm Mj riêng biệt nào đó
2.3.9 Các ràng bu ộ c v ề công c ụ và các ràng bu ộ c v ề tài nguyên (Tooling Constraints And Resource Constraints)
Khi một máy yêu cầu duy nhất một công cụ và ta có R công cụ, thì chúng được gọi là Resource Một resource thường gặp trong thực tế là nguồn nhân lực Một phân xưởng có thể chỉ có một số ít các nhà vận hành được huấn luyện để điều khiển một số máy đặc biệt nào đó Các công việc cần được xử lý trên máy này cần phải đợi cho đến khi một trong các nhà vận hành này có thể xử lý được chúng Lúc này điều độ máy móc và điều độ nguồn nhân lực cần phải cân nhắc
2.3.10 Các ràng bu ộ c v ề điều độ ngu ồ n nhân l ự c (Personel Scheduling Constraints) Điều độ nguồn nhân lực và phân bố các ca làm việc có thể gặp phải rất nhiều ràng buộc Nó phụ thuộc vào dạng làm việc mà trong đó con người phải làm việc một số ngày liên tiếp nào đó (ví dụ 5 ngày) và sau đó lại nghỉ một số
Luận văn thạc sĩ Trang 8 ngày liên tiếp (ví dụ 2 ngày) Tuy nhiên, có rất nhiều dạng khác nhau của các loại ca làm việc cũng như có rất nhiều cách để xoay chuyển chúng.
Hàm mục tiêu liên quan đến ngày tới hạn
Có rất nhiều hàm mục tiêu quan trọng liên quan đến ngày tới hạn Trước tiên, nhà điều độ thường quan tâm đến cực tiểu các khoảng thời gian trễ hạn lớn nhất (Maximum lateness) Các công việc trễ hạn được xác định như sau: Gọi dj là ngày tới hạn của công việc j Sự trễ hạn của công việc j là Lj
Sự trễ hạn cực đại được xác định như sau:
Cực tiểu thời gian trễ cực đại tương đương với việc cực tiểu tình huống thực thi xấu nhất của việc điều độ
Một hàm mục tiêu quan trọng khác liên quan đến ngày tới hạn là số các công việc bị trễ hạn (number of tardy jobs) Hàm mục tiêu này thì không quan tâm đến một công việc sớm mà quan tâm đến việc có trễ hay không Tuy nhiên trong thực tế, việc cực tiểu hóa số công việc bị trễ đôi khi dẫn đến có vài công việc quá trễ
Một hàm mục tiêu khác là tổng thời gian trễ (total tardiness) hay thời gian trễ trung bình Thời gian trễ của job j là Tj và hàm mục tiêu là
∑ 𝑛𝑛 𝑗𝑗=1 𝑇𝑇 𝑗𝑗 (2.4) Giả sử có trọng số wj cho công việc j thì hàm mục tiêu là
Các giải thuật điều độ
Một số bài toán điều độ vốn thuộc loại dễ Nhiều dạng loại này có thể được thiết lập như bài toán quy hoạch tuyến tính và sử dụng các thuật toán hiệu quả có sẵn để giải Một trong những thuật toán dạng này là thuật toán hàm đa thức, dùng để giải các bài toán có hàng trăm thậm chí hàng ngàn công việc trên máy tính, trong một thời gian tương đối ngắn
Tuy nhiên rất nhiều bài toán điều độ về bản chất rất khó giải, được gọi là NP-hard (Non-Polynominal-hard) Chúng không thể thiết lập như bài toán quy hoạch tuyến tính và cũng không có các quy luật hay giải thuật đơn giản để cho lời giải tối ưu trong một khoảng thời gian giới hạn chạy trên máy tính Tuy vậy, ta có thể lập bài toán quy hoạch nguyên hay quy hoạch tách (disjunctive
Luận văn thạc sĩ Trang 9 program) cho dạng này Nhưng để đi đến lời giải tối ưu cần tiêu tốn thời gian rất nhiều, vì thời gian dành chạy máy không luôn luôn sẵn có, cách này thường cho lời giải khả thi “có thể chấp nhận được” mà không quá xa so với lời giải tối ưu
2.5.1 Lu ậ t phân vi ệc cơ bả n
Một luật phân việc (Dispatching Rule) là một quy luật để xếp độ ưu tiên cho các công việc đang chờ để xử lý trên một máy Có nhiều cách phân loại luật phân việc:
- Luật tĩnh (không phụ thuộc thời gian) chỉ là một hàm về dữ liệu về công việc, dữ liệu về máy móc
- Luật động (phụ thuộc thời gian) có biến thời gian tham gia vào
- Luật cục bộ và luật tổng thể
Bảng 2.1: Các luật phân việc cơ bản
Luật Dữ kiện Mục tiêu
Luật phụ thuộc vào ngày sẵn sàng thực hiện và ngày tới hạn
ERD rj Thay đổi thời gian năng suất EDD dj Cực đại hóa độ trễ đại số
MS dj Cực đại hóa độ trễ đại số
Luật phụ thuộc vào thời gian gia công
LPT pj Cân bằng tải trên các máy song song SPT pj Tổng thời gian hoàn tất, WIP
WSPT pj, wj Tổng thời gian hoàn tất có trọng số,
CP pj, ràng buộc trước sau
Makespan – Thời gian hoàn tất công việc cuối cùng
LNS pj, ràng buộc trước sau
Makespan – Thời gian hoàn tất công việc cuối cùng
Các luật khác SIRO - Dễ thực hiện
Luận văn thạc sĩ Trang 10
SST sjk Makespan – thời gian hoàn tất công việc cuối cùng và năng suất
LFJ Mj Makespan – thời gian hoàn tất công việc cuối cùng và năng suất SQNO - Thời gian rỗi của máy
Giải thuật Tabu Search là giải thuật cải tiến, xuất phát từ lời giải ban đầu và di chuyển từ lời giải này sang lời giải khác Nếu tốt thì tiếp tục, nếu không thì chuyển hướng hoặc dừng Trong quá trình di chuyển sẽ không đi vào vùng cấm (Tabu list) Vùng cấm chứa những di chuyển vừa rồi nhưng bị cấm trong một số lần di chuyển kế tiếp Quá trình di chuyển là đi đến lân cận (hàng xóm) Các điểm lân cận được xác định bằng nhiều cách Cách phổ biến nhất là hoán chuyển vị trí hai phần tử liền kề
Giải thuật Tabu Search được thể hiện như sơ đồ hình bên dưới
Hình 2.2: Giải thuật Tabu Search
Luận văn thạc sĩ Trang 11
Các nghiên cứu liên quan
2.6.1 Recommendation of Scheduling Tourism Routes using Tabu Search Method (Anranur Uwaisy Ma, Z K A Baizala và Yusza Reditya M, 2019)
Nghiên cứu này sử dụng phương pháp Tabu Search để giải quyết vấn đề TSP (traveling salesman problem) và sử dụng khái niệm MAUT (Multi Attribute Utility Theory) để xác định tour du lịch tối ưu dựa trên các tiêu chí về chi phí, mức độ phổ biến và số lượng tour mà khách du lịch muốn tham quan Thử nghiệm này được thực hiện bằng cách sử dụng cùng một dữ liệu, bằng cách chọn 1 khách sạn và 125 điểm du lịch sẽ được lên lịch trình trong vòng 3 ngày kể từ khi khách du lịch đến thăm
Hình 2.3: Giải thuật Tabu Search cho bài toán
Hình 2.3 mô tả quy trình thiết kế hệ thống lập lịch trình và tìm kiếm tuyến du lịch sử dụng phương pháp Tabu Search và tính toán
Luận văn thạc sĩ Trang 12
Bước 1, khách du lịch sẽ chọn khách sạn và các điểm du lịch muốn đến Khách sạn được sử dụng làm điểm khởi hành và điểm cuối trong việc tìm kiếm tuyến đường trong phương pháp Tabu Search
Bước 2, khách du lịch lựa chọn thang đo ưu tiên của lượt tham quan du lịch dựa trên các tiêu chí về chi phí, mức độ phổ biến và số lượng các chuyến tham quan Tính toán nhằm mục đích thu được một giá trị phù hợp được sử dụng trong quá trình hình thành danh sách cấm
Bước 3, chuẩn hoá, dữ liệu chuẩn hóa là một dạng biến đổi dữ liệu để nhóm các phạm vi giá trị khác nhau vào cùng một thang giá trị
Bước 4, hình thành vùng lân cận, tức là quá trình xác định các tham số được sử dụng và kiểm tra từng giải pháp có khả thi để đưa vào danh sách cấm hay không
Bước 5, hình thành danh sách cấm: là quá trình lưu trữ danh sách các giải pháp thu được từ kết quả tìm kiếm trong mỗi lần lặp
Bước 6, chọn giải pháp tốt nhất và cập nhật danh sách cấm Quá trình cập nhật danh sách cấm là một quá trình tìm kiếm các giải pháp bằng cách sử dụng nhiều lần lặp lại
Bước 7 là đánh giá giải pháp để tìm ra giải pháp tối ưu Quá trình đánh giá là quá trình kết hợp các kết quả của tính toán và hình thành danh sách tabu đã được thực hiện Nếu giải pháp được tìm thấy không phải là tối ưu, thì có thể lặp lại quá trình hình thành danh sách cấm một lần nữa
Bước 8 là lập lịch trình và quy trình tìm kiếm của các tuyến du lịch tối ưu Quá trình tìm kiếm tuyến đường là quá trình cuối cùng để tìm ra kết quả tìm kiếm tối ưu bằng cách sử dụng kết quả tính toán và hình thành danh sách cấm Kết quả nghiên cứu được thể hiện dưới hình sau:
Hình 2.4: Kết quả nghiên cứu
Luận văn thạc sĩ Trang 13
Từ hình trên cho thấy giá trị trung bình của hàm Fitness trong phương pháp Tabu Search là 0,31 và giá trị trung bình của giá trị của hàm Fitness trong phương pháp Firefly là 0,16 Vì vậy, theo những kết quả này, giá trị Fitness trong phương pháp Tabu Search tốt hơn so với phương pháp Firefly Thời gian chạy trung bình trong phương pháp Tabu Search là 546,17 giây, tuy nhiên trong phương pháp Firefly là 940,47 giây Khi chúng ta nhìn từ thời gian chạy trung bình, phương pháp Tabu Search nhanh hơn phương pháp Firefly.Vì vậy, dựa trên các kết quả thử nghiệm này, chỉ ra tổng số nút trong phương pháp Tabu Search tốt hơn phương pháp Firefly
2.6.2 A Tabu Search Based Algorithm for Airport Gate Assignment: A Case Study in Kunming (Jun Bi, Zhen Wu, Lei Wang, Dongfan Xie và Xiaomei Zhao, 2020)
Nghiên cứu này dùng mô hình quy hoạch đa tuyến tính với nhiều ràng buộc nhằm phục vụ tối đa lượng khách Sử dụng giải thuật Tabu Search để giải bài toán Sử dụng dữ liệu thực tế từ sân bay quốc tế Trường Thủy Côn Minh ở Trung Quốc
Vấn đề của bài toán là phân bổ các chuyến bay đến và đi đến các cổng khác nhau của sân bay theo các điều kiện:
- Thời gian chuyến bay đi và đến
- Loại máy bay và quy mô chỗ đỗ
- Đảm bảo hoạt động bình thường của các chuyến bay và duy trì trật tự tại sân bay
- Việc phân công cổng lên máy bay hợp lý có thể nâng cao tính an toàn và hiệu quả
- Vì số lượng cửa có hạn, rất khó để chỉ định tất cả các chuyến bay
- Hơn nữa, kích thước của các cổng cũng hạn chế các loại máy bay
- Hai máy bay trên cùng một cổng cần phải có một khoảng thời gian an toàn
- Mục tiêu là tối đa hóa số lượng người lên và xuống trực tiếp
- xij: Chuyến bay i có được đậu ở cổng j hay không
Luận văn thạc sĩ Trang 14
• xij = 1: 1 chuyến bay được gán cho 1 cổng
- Khi cổng có mái che gán gj = 1 ngược lại bằng 0
- Nf: Tổng số chuyển bay, Ng: Tổng số chỗ ngồi
- Pi: Số lượng hành khách trên chuyến bay
- Mỗi chuyến bay chỉ đậu ở một cổng
- Phải có thời gian an toàn của 2 chuyến bay cùng cửa
- Các chuyến bay giữa hai cổng liền kề không thể ra vào cổng cùng một lúc, và giữa chúng cần phải có khoảng thời gian an toàn
- Các thuộc tính của chuyến bay (nội địa / quốc tế) cần phải khớp với cổng
- Loại cổng và loại máy bay cần phải phù hợp
- Sử dụng giải thuật Tabu Search
- Xác định chiều dài Tabu List bằng thống kê
Hình 2.5: Sử dụng thống kê để xác định chiều dài Tabu list
Hình trên cho ta thấy chiều dài danh sách cấm được chọn là số mà tại đó giá trị hàm mục tiêu ở mức độ tối ưu chấp nhận và ít biến động
- Xác định số lần lặp qua thống kê
Luận văn thạc sĩ Trang 15
Hình 2.6: Sử dụng thống kê để xác định số lần lặp
Hình trên cho thấy việc chọn số lần lặp cũng dựa vào thống kê và chọn số lần lặp có giá trị hàm mục tiêu tối ưu và ít biến động
Hình 2.7: Kết quả phân bổ chuyến bay
Luận văn thạc sĩ Trang 16
Kết quả phân bổ các chuyến bay và sân bay cho thấy 89.65 hành khách được đáp ứng
Từ cơ sở lý thuyết và các nghiên cứu liên quan ta tiến hành xây dựng phương pháp luận
Hình trên thể hiện phương pháp luận của bài nghiên cứu theo chu trình CDIO Ở bước lên ý tưởng sẽ thực hiện các hoạt động liên quan đến tìm hiểu về công ty, thu thập số liệu, đọc và tìm hiểu về các nghiên cứu liên quan Từ đó hình thành ý tưởng cho bài nghiên cứu Bước thứ hai là thiết kế ý tưởng thông qua việc xây dựng mô hình bài toán, thiết kế các giải pháp dựa trên nền tảng giải thuật Tabu Search Bước thứ ba là thực hiện tức là xây dựng một phần mềm điều độ đơn hàng cụ thể và cho thử nghiệm với bộ dữ liệu quá khứ, đánh giá và sửa chữa Bước cuối cùng, cho phần mềm này vận hành thực tế, đánh giá và cải tiến
Luận văn thạc sĩ Trang 17
QUY TRÌNH ĐIỀU ĐỘ CỦA NHÀ MÁY
Thực trạng vấn đề
Quy trình vận hành của công ty được thể hiện như hình dưới:
Hình 3.1: Quy trình vận hành
Quy trình vận hành chung là phòng kinh doanh sẽ lên kế hoạch giao hàng, sau đó chuyển cho phòng kế hoạch để lập kế hoạch sản xuất và phản hồi lại với phòng kinh doanh nếu có vấn đề xảy ra Sau đó kế hoạch sản xuất sẽ được
Luận văn thạc sĩ Trang 18 chuyển cho bộ phận vật tư để lên kế hoạch mua vật tư và chuyển cho phòng sản xuất để lên lịch sản xuất Sau đó cả hai bộ phận sản xuất và vật tư sẽ phản hồi lại phòng kế hoạch khi có vấn đề phát sinh Tiếp theo, phòng sản xuất thực hiện sản xuất và cho ra kế hoạch giao hàng
Công ty sản xuất nhiều loại sản phẩm khác nhau và mỗi loại sản phẩm có một đặc thù riêng ở quy trình sản xuất Sơ đồ bên dưới thể hiện quy trình sản xuất chung của các sản phẩm
Hình 3.2: Quy trình sản xuất chung
Quy trình sản xuất của công ty chủ yếu qua năm công đoạn chính Từ nguyên vật liệu đầu vào, sau đó qua công đoạn pha màu, ép máy, lắp ráp và sau đó là đóng gói thành phẩm.
Xác định vấn đề
Tiến hành thu thập số liệu về dữ kiện nhận đơn hàng và giao hàng trong
12 tháng của năm 2021 và phân tích ta thu được kết quả như bảng bên dưới
Luận văn thạc sĩ Trang 19
Bảng 3.1: Thông tin các đơn hàng trong năm 2021
Tháng Đơn hàng nhận Đơn hàng trễ Tỷ lệ trễ đơn hàng
Bảng trên thể hiện tỷ lệ trễ đơn hàng trong năm 2021 Theo bảng số liệu ta có thể thấy được tỷ lệ trễ đơn hàng vào khoảng 14% Tuy nhiên có những tháng tỷ lệ trễ đơn hàng rất cao vào khoảng 20% Từ đó ta có thể thấy đã có vấn đề trong việc quản lý đơn hàng ở công ty
Sau khi đã phân tích hiện trạng và xem xét nhu cầu của công ty, tôi có các nhận xét sau về thực trạng của công ty:
- Kế hoạch sản xuất hiện tại đang dựa vào kinh nghiệm, mang tính chủ quan và không có giải thuật điều độ cụ thể
- Chưa có sự liên kết chặt chẽ giữa các phòng ban khi lập kế hoạch sản xuất, dẫn đến luồng thông tin không liên tục
- Việc triển khai thực tế chưa bám sát kế hoạch vì nguồn lực không đủ đáp ứng
- Việc điều độ sản xuất hàng ngày hiện tại dựa vào kinh nghiệm, mang tính chủ quan và không có giải thuật điều độ cụ thể
Luận văn thạc sĩ Trang 20
- Khi có đơn hàng phát sinh, chưa có cách xử lý hợp lý, hiện tại chỉ dựa vào sự thỏa thuận giữa người với người, thiếu các giải pháp thông minh
Chính vì thế, cần thiết có một phần mềm ứng dụng lập kế hoạch điều độ nhằm hỗ trợ người vận hành ra quyết định là máy nào sẽ lên những khuôn nào, vào những thời điểm nào một cách tối ưu, giúp rút ngắn thời gian hoàn thành sản phẩm và từ đó cái thiện tình trạng trễ đơn hàng.
Phương án đề xuất
Tôi tập trung giải quyết vấn đề điều độ sản xuất, cụ thể là máy móc Việc điều độ này sẽ được tiến hành trên ứng dụng máy tính và cơ sở dữ liệu sẽ được lưu trữ tại máy chủ của nhà máy
Trong phương án đề xuất này, các công việc sẽ làm là:
- Tổ chức, phân tích dữ liệu
• Dữ liệu của tất cả công việc và máy móc không phụ thuộc vào bảng điều độ
• Độ ưu tiên của các công việc
• Tốc độ máy, thời gian bảo trì,…
• Thời gian chuẩn bị giữa công việc j và k trên máy i
• Thời gian bắt đầu và kết thúc các công việc, thời gian rỗi trên máy, thời gian mà máy đang chuẩn bị, thứ tự của các công việc trên máy, số lượng các công việc bị trễ, thời gian trễ của các công việc,…
• Xác định các ràng buộc về dữ liệu máy, dữ liệu khuôn, dữ liệu tồn kho,…
• Xác định các trường hợp bất thường và cách xử lý
- Lựa chọn giải thuật điều độ phù hợp có thể áp dụng tại công ty
- Phát triển, áp dụng nền tảng ứng dụng có sẵn (Odoo) để phục vụ đề tài
• Nhập cơ sở dữ liệu của công ty vào Odoo
• Kiểm tra độ thích hợp của ứng dụng Odoo với quy trình sản xuất hiện tại của nhà máy
• Xây dựng giải thuật điều độ đã chọn vào Odoo
• Chạy thử nghiệm, so sánh với kết quả điều độ bằng tay hiện tại tại nhà máy
• Liên kết dữ liệu Odoo với server của nhà máy
• Chỉnh sửa, bổ sung, khắc phục các lỗi khi sử dụng phần mềm
Luận văn thạc sĩ Trang 21
TỔNG QUAN VỀ PHẦN MỀM ODOO ERP
Giới thiệu tổng quan
Odoo là một phần mềm ERP mã nguồn mở (open-source), nghĩa là khả năng tùy chỉnh và phát triển các tính năng của phần mềm này là vô hạn Cụ thể hơn, ngoài các phân hệ hay module cơ bản của Odoo như POS, CRM, quản lý kho, quản lý nhân sự,… thì Odoo cho phép bạn hoàn toàn chỉnh sửa hay thêm bớt những tính năng hoặc tạo ra các phân hệ mới mà bạn mong muốn
Ngoài ra, Odoo còn cung cấp các tính năng bảo mật cho các cộng đồng về công nghệ kinh doanh và phát triển phần mềm trên toàn thế giới
Hiện nay, hệ thống ERP này có hơn 7,000,000 người dùng trên toàn thế giới, nhờ ưu thế về tầm nhìn kinh doanh rộng và giao diện người dùng thân thiện
Hình 4.1: Tổng quan hệ thống của Odoo
Luận văn thạc sĩ Trang 22
Các lợi ích của Odoo mang lại cho doanh nghiệp
4.2.1 Ph ầ n m ề m ERP toàn di ệ n cùng kho ứ ng d ụng đa dạ ng
Phần mềm Odoo ERP có một kho hệ thống đa dạng hỗ trợ từng bộ phận trong công ty từ kế toán, quản lý dự án, chăm sóc khách hàng, cho đến quản lý nhà kho, nguyên liệu sản xuất,… Đặc biệt hệ thống Odoo được xây dựng theo cấu trúc module, người dùng có thể tùy ý lựa chọn các ứng dụng phù hợp trên kho ứng dụng và cài đặt về tài khoản của công ty
Hơn 10.000 module hỗ trợ chính là điểm nổi bật của hệ thống Odoo Doanh nghiệp chỉ cần lựa chọn những chức năng phù hợp, loại bỏ được các chức năng thừa thải không cần thiết
Hình 4.2: Kho ứng dụng đa dạng hỗ trợ từng bộ phận của Odoo
Nhờ vào việc kho ứng dụng đa dạng được đề cập ở trên, Odoo có tính linh hoạt cao phù hợp cho mọi loại hình doanh nghiệp (đặc biệt dành cho các doanh nghiệp vừa và nhỏ)
Ban đầu người dùng có thể bắt đầu với những module mặc định để quản lý doanh nghiệp, theo thời gian có thể cài đặt thêm các module theo nhu cầu phát sinh hay kế hoạch phát triển của doanh nghiệp
Ngoài ra, Odoo cho phép bạn tùy chỉnh module hoặc tạo thêm module của riêng bạn để phục vụ từng loại hình doanh nghiệp khác nhau Những gì bạn cần chỉ là một đội ngũ lập trình viên mạnh mẽ để tạo ra hay chỉnh sửa các tính năng theo ý của bạn
Luận văn thạc sĩ Trang 23
Odoo cung cấp API miễn phí, cho phép bạn hoàn toàn có thể tích hợp với bất kỳ một phần mềm nào mà không giới hạn Doanh nghiệp bạn hoàn toàn có thể tích hợp Odoo để phục vụ các quy trình riêng, làm cầu nối để kết nối và thống kê hoạt động của từng phần mềm riêng biệt của các phòng ban lại với nhau Từ đó, nhân viên hay nhà quản lý đều có thể tăng hiệu suất làm việc và quản lý một cách chặt chẽ hơn
Giá thành có lẽ là điểm nổi bật của Odoo Odoo phù hợp với mọi loại doanh nghiệp khác nhau từ SME đến những doanh nghiệp lớn Lý do là bởi các doanh nghiệp chỉ có nhu cầu sử dụng module cơ bản thì chi phí thật sự không cao Ngoài ra, Odoo cho phép trả phí theo module tức bạn muốn sử dụng chức năng nào thì trả phí chức năng đó Ví dụ như bạn chỉ muốn Odoo sử dụng để làm POS hay quản lý kho thì bạn chỉ việc mua các module nhỏ lẻ để phục vụ các chức năng riêng biệt
Hệ thống Odoo ERP là một nền tảng thân thiện với người dùng Thiết kế đã được tối giản hóa, các module được sắp xếp đơn giản để người dùng dễ dàng quản lý
Với một người bắt đầu sử dụng Odoo, không cần tốn quá 2 ngày để có thành thạo được ứng dụng này Các chức năng đều được sắp xếp một cách hợp lý và dễ nhìn, dễ hiểu và dễ sử dụng Bất kể là nhân viên hay quản lý doanh nghiệp đều có thể bắt đầu sử dụng ngay lập tức.
Kiến trúc ba tầng của Odoo
Odoo bao gồm một kiến trúc ba tầng Kiến trúc này chia ứng dụng thành các tầng sau:
- Tầng trình bày, bao gồm giao diện người dùng (UI) trên web
- Tầng ứng dụng, nơi chứa logic của ứng dụng
- Tầng dữ liệu, nơi dữ liệu được lưu trữ và quản lý
Tầng cơ sở dữ liệu lưu trữ tất cả thông tin và cấu hình của các module trong Odoo Trong khi đó, trên tầng ứng dụng có máy chủ Odoo Máy chủ này lưu trữ logic ứng dụng, xử lý giao tiếp giữa các module khác nhau và cung cấp công cụ ánh xạ quan hệ đối tượng (ORM) để truyền dữ liệu từ máy chủ Odoo
Luận văn thạc sĩ Trang 24 bằng Python sang máy chủ cơ sở dữ liệu PostgreSQL Tầng cao nhất, được viết bằng Javascript, là tầng trình bày (giao diện người dùng trong trình duyệt web)
Hình 4.3: Kiến trúc 3 tầng của Odoo
Mô hình kiến trúc lập trình MVC
Odoo sử dụng mô hình kiến trúc lập trình MVC Mô hình MVC là một mô hình được sử dụng trong hầu hết các dự án phát triển Web MVC là từ viết tắt của “Model – View – Controller” Nó đại diện cho các nhà phát triển kiến trúc áp dụng khi xây dựng các ứng dụng Với kiến trúc MVC, chúng ta xem xét cấu trúc ứng dụng liên quan đến các luồng dữ liệu của ứng dụng của chúng ta hoạt động như thế nào
Mô hình MVC được chia làm 3 lớp xử lý gồm Model – View – Controller:
- Model: là nơi chứa những nghiệp vụ tương tác với dữ liệu hoặc hệ quản trị cơ sở dữ liệu (mysql, mssql…); nó sẽ bao gồm các class/function xử lý nhiều nghiệp vụ như kết nối database, truy vấn dữ liệu, thêm – xóa – sửa dữ liệu…
Luận văn thạc sĩ Trang 25
- View: là nơi chứa những giao diện như một nút bấm, khung nhập, menu, hình ảnh… nó đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúp người dùng tương tác với hệ thống
- Controller: là nơi tiếp nhận những yêu cầu xử lý được gửi từ người dùng, nó sẽ gồm những class/function xử lý nhiều nghiệp vụ logic giúp lấy đúng dữ liệu thông tin cần thiết nhờ các nghiệp vụ lớp Model cung cấp và hiển thị dữ liệu đó ra cho người dùng nhờ lớp View
Mô hình này được áp dụng để giữ cho dữ liệu và giao diện người dùng được tách biệt Bằng cách này, các thay đổi đối với lược đồ dữ liệu không ảnh hưởng đến giao diện người dùng và ngược lại Bộ điều khiển kết nối hai thành phần và hoạt động như một bộ trung gian xử lý các phép chuyển đổi logic và dữ liệu
Hình 4.4: Mô hình MVC trong Odoo
Luận văn thạc sĩ Trang 26
Môi trường thực thi
Odoo cung cấp một số quyền tự do liên quan đến việc triển khai hệ thống
Hệ thống có thể được triển khai trên một vài hệ thống, chỉ sử dụng cơ sở dữ liệu cục bộ, cũng như trên một nhóm máy, nơi các vấn đề cân bằng tải cũng được tính đến Ngay cả trong những cài đặt quan trọng, nơi tính khả thi là then chốt, hệ thống có thể được lưu trữ tại chỗ (cơ sở hạ tầng của công ty) hoặc trên đám mây Ví dụ về kiến trúc triển khai được hiển thị trong hình bên dưới, nơi có vô số máy chủ lưu trữ Odoo Mọi yêu cầu được thực hiện đều được xử lý bởi bộ cân bằng tải, bộ phận phân phối các yêu cầu Trong khi đó, tất cả các máy chủ truy xuất và ghi thông tin bằng cách sử dụng khóa trên cùng một cơ sở dữ liệu, máy chủ PostgreSQL
Hình 4.5: Kiến trúc triển khai trong cài đặt hiệu suất cao
Cơ chế cập nhật dữ liệu
Nhằm giảm tối đa các thao tác nhập liệu của người dùng, vốn mất thời gian và tiềm ẩn nguy cơ xảy ra sai sót, một số dữ liệu sẽ được cập nhật tự động từ hệ thống thu thập dữ liệu sản xuất của nhà máy
Việc đồng bộ dữ liệu này sẽ được thực hiện thông qua cơ chế RPC (Remote Procedure Call – Gọi tiến trình từ xa) đã được cung cấp sẵn trong phần mềm Odoo
Cụ thể, quá trình cập nhật dữ liệu xảy ra như sau:
Luận văn thạc sĩ Trang 27
Hình 4.6: Quá trình cập nhật dữ liệu
Dữ liệu hoạt động từ các máy ép sẽ được thu thập liên tục nhờ hệ thống thu thập dữ liệu Mỗi ca, dữ liệu này sẽ được gửi lên service quản lý dữ liệu máy ép trên máy chủ để lưu trữ Khi có dữ liệu gửi lên, service này ngoài việc lưu trữ sẽ tự động gọi phần mềm Odoo để cập nhật dữ liệu thông qua cơ chế RPC với định dạng dữ liệu là JSON.
Triển khai ứng dụng trong môi trường thực tế
Phần mềm Odoo là một ứng dụng web với rất nhiều thành phần phụ thuộc phức tạp Việc cài đặt trực tiếp Odoo trên máy chủ sẽ gặp nhiều khó khăn, hơn nữa lại có khả năng gây “ô nhiễm” môi trường chạy của máy chủ, làm cho các ứng dụng khác không hoạt động được Do đó, việc cô lập Odoo trong một môi trường được thiết lập sẵn là cần thiết Để thực hiện mục tiêu này, trong đề tài, phương pháp container-based virtualization (ảo hoá dựa trên container) sẽ được sử dụng
Container-based virtualization là một hình thức virtualzation (ảo hoá) cấp hệ điều hành hoặc cấp ứng dụng trên các thiết bị tài nguyên mạng nhằm mục tiêu cô lập các ứng dụng phần mềm vào các môi trường đã được cài đặt sẵn, từ đó giúp cho các ứng dụng có thể chạy trên nhiều loại môi trường, thiết bị khác nhau
So với phương pháp ảo hoá sử dụng máy ảo, phương pháp này ít tiêu tốn tài nguyên hơn do không sử dụng tài nguyên để tạo một máy ảo mới với đầy đủ
Luận văn thạc sĩ Trang 28 các thành phần như hệ điều hành,… mà chỉ tạo ra các môi trường ảo bao gồm các thành phần phụ thuộc (dependency) như runtime, thư viện,… dùng chung một hệ điều hành
Docker là một nền tảng mã nguồn mở cung cấp tính năng containerize (đóng gói thành container) và triển khai các container lên các thiết bị chạy trên hệ điều hành Windows, Linux hoặc MacOS
Docker là một dự án miễn phí, có cộng đồng người dùng đông đảo, tích cực và tài liệu hướng dẫn sử dụng đầy đủ, phong phú Docker cung cấp nhiều tính năng đa dạng phục vụ việc ảo hoá, đáp ứng đầy đủ các nhu cầu của đề tài
Luận văn thạc sĩ Trang 29
XÂY DỰNG MODULE ĐIỀU ĐỘ
Phân tích hệ thống
Ta sử dụng sơ đồ DFD (Data Flow Diagram) để phân tích dòng di chuyển dữ liệu bên trong hệ thống điều độ cũng như dòng di chuyển dữ liệu giữa hệ thống với bên ngoài
5.1.1 Sơ đồ dòng di chuy ể n d ữ li ệ u c ấ p 0
Sơ đồ dòng di chuyển dữ liệu cấp 0 của hệ thống biểu diễn ở hình dưới
Hình 5.1: Sơ đồ DFD cấp 0 của hệ thống
Hình 5.1 thể hiện mối liên hệ giữa hệ thống với những thực thể bên ngoài liên quan đến hệ thống Những thực thể cung cấp thông tin cho hệ thống bao gồm Phòng kinh doanh cung cấp các thông tin liên quan đến đơn hàng như mã sản phẩm, ngày đến hạn, giá bán, số lượng của đơn hàng, Phòng R&D cung cấp bảng kê liên quan đến các khuôn, Phòng vật tư cung cấp ngày sẵn sàng của đơn hàng tức là lịch sẽ có nguyên vật liệu để đơn hàng bắt đầu vận hành, Phòng sản xuất cung cấp thời gian thực hiện một sản phẩm, thời gian chuyển đổi giữa các đơn hàng, tình trạng các xưởng, BOM để gán đơn hàng vào xưởng Tất cả các thông tin này được nhập vào hệ thống bởi nhân viên phòng sản xuất Sau đó cũng chính nhân viên phòng sản xuất sẽ nhận kết quả điều độ, thực hiện đánh giá, hiệu chỉnh cho phù hợp và cho triển khai sản xuất
Luận văn thạc sĩ Trang 30
5.1.2 Sơ đồ dòng di chuy ể n d ữ li ệ u c ấ p 1
Sơ đồ dòng di chuyển dữ liệu cấp 1 của hệ thống biểu diễn ở hình dưới
Hình 5.2: Sơ đồ DFD cấp 1 của hệ thống
Sơ đồ DFD cấp 1 thể hiện dòng thông tin vào ra đối với từng khối chức năng chính của mô hình điều độ sản xuất Nhìn vào hình 5.2 ta thấy được phần mềm điều độ này có ba chức năng chính là nhập dữ liệu đầu vào, thực hiện việc điều độ và cuối cùng là xuất kết quả điều độ sản xuất để người nhân viên vận hành Dữ liệu từ các bộ phận liên quan sẽ được nhập thông qua chức năng nhập thông tin, sau đó sẽ được lưu trữ làm cơ sở dữ liệu Sau đó sẽ thực hiện chức năng điều độ theo mô hình toán và giải thuật đã thiết lập sẵn và xuất ra một kết quả điều độ thô Cuối cùng, kết quả này sẽ được trả về một giao diện thân thiện với người dùng, cung cấp các thông tin cần thiết để điều độ sản xuất.
Phân tích và tính toán các thông số đầu vào
Từ phòng kinh doanh ta có được dữ liệu thông tin đơn hàng bao gồm mã sản phẩm, tên khách hàng, số lượng đặt hàng, ngày đến hạn
Luận văn thạc sĩ Trang 31
Bảng 5.1: Thông tin đơn hàng tuần 3 tháng 4 năm 2022
Ngày giao Khách hàng Mã sản phẩm SL
16/04/2022 Cty TNHH Vĩ Năng HA3701-VN1 50
16/04/2022 Cty TNHH Vĩ Năng HA3701-VN2 100
16/04/2022 Nhà Phân Phối Mai Hai HA1101-HA7 300 16/04/2022 Nhà Phân Phối Mai Hai HA1101-HA8 300
21/04/2022 Cty TNHH SX KD Sứ Hảo Cảnh HA0301T-HA4 1,000 21/04/2022 Cty TNHH ToTo Việt Nam HA4001-TO1 3,408 22/04/2022 Cty TNHH MTV Sứ Thiên Thanh HA2101-TT1 500 22/04/2022 Cty TNHH SX KD Sứ Hảo Cảnh HA4101-HC1 1,000 22/04/2022 Cty TNHH MTV Sứ Thiên Thanh HA0301T-TT1 500 22/04/2022 Cty TNHH MTV Sứ Thiên Thanh HA0701-TT1 500 22/04/2022 Cty TNHH MTV Sứ Thiên Thanh HA2901-TT1 1,900 22/04/2022 Cty TNHH MTV Sứ Thiên Thanh HA2101-TT1 500 22/04/2022 Cty TNHH MTV Sứ Thiên Thanh HA2501T-TT1 240
Từ dữ liệu đơn hàng đầu vào này ta có được các thông số đầu vào cho mô hình là mã sản phẩm, ngày đến hạn (dj) tương ứng với ngày giao cho khách hàng, số lượng sản phẩm của mỗi đơn hàng tương ứng là thông số qj
Từ dữ liệu đơn hàng ta có giá thành của từng sản phẩm
Bảng 5.2: Giá thành của đơn hàng
Khách hàng Mã sản phẩm SL Giá thành
Cty TNHH Vĩ Năng HA3701-VN1 50 127,159
Cty TNHH Vĩ Năng HA3701-VN2 100 134,794
Nhà Phân Phối Mai Hai HA1101-HA7 300 68,702
Luận văn thạc sĩ Trang 32
Khách hàng Mã sản phẩm SL Giá thành
Nhà Phân Phối Mai Hai HA1101-HA8 300 68,702
Cty TNHH SX KD Sứ Hảo Cảnh HA0301T-HA4 3,408 190,708
Cty TNHH ToTo Việt Nam HA4001-TO1 500 71,355
Cty TNHH MTV Sứ Thiên Thanh HA2101-TT1 1,000 105,795
Cty TNHH SX KD Sứ Hảo Cảnh HA4101-HC1 500 48,979
Cty TNHH MTV Sứ Thiên Thanh HA0301T-TT1 500 76,049
Cty TNHH MTV Sứ Thiên Thanh HA0701-TT1 1,900 75,182
Cty TNHH MTV Sứ Thiên Thanh HA2901-TT1 500 71,355
Cty TNHH MTV Sứ Thiên Thanh HA2101-TT1 240 41,449
Sau khi khảo sát ý kiến từ lãnh đạo công ty thì chọn giá thành để xử lý cho thông số mức độ ưu tiên của đơn hàng bởi những khách hàng chủ chốt, quan trọng, thân thiết và gắn bó của công ty đa phần cũng là những khách hàng cao cấp, do đó giá thành của những sản phẩm này cũng cao Từ đó có thể suy ra mức độ ưu tiên của đơn hàng dựa trên giá thành của sản phẩm
Bảng 5.3: Trọng số của đơn hàng
Ngày giao Khách hàng Mã sản phẩm Giá thành
16/04/2022 Cty TNHH Vĩ Năng HA3701-VN1 127,159 3.0 16/04/2022 Cty TNHH Vĩ Năng HA3701-VN2 134,794 3.0 16/04/2022 Nhà Phân Phối Mai Hai HA1101-HA7 68,702 2.0 16/04/2022 Cty TNHH SX KD Sứ Hảo Cảnh HA0301T-HA4 50,900 1.0
21/04/2022 Cty TNHH MTV Sứ Thiên Thanh HA2101-TT1 71,355 2.0 21/04/2022 Cty TNHH SX KD Sứ Hảo Cảnh HA4101-HC1 105,795 3.0
Luận văn thạc sĩ Trang 33
Ngày giao Khách hàng Mã sản phẩm Giá thành
22/04/2022 Cty TNHH MTV Sứ Thiên Thanh HA0301T-TT1 48,979 1.0 22/04/2022 Cty TNHH MTV Sứ Thiên Thanh HA0701-TT1 76,049 2.0 22/04/2022 Cty TNHH MTV Sứ Thiên Thanh HA2901-TT1 75,182 2.0 22/04/2022 Cty TNHH MTV Sứ Thiên Thanh HA2101-TT1 71,355 2.0 22/04/2022 Cty TNHH MTV Sứ Thiên Thanh HA2501T-TT1 41,449 1.0 Để tính trọng số wj của đơn hàng ta quy ước đơn hàng có giá thấp nhất sẽ có trọng số là 1 và trọng số của các đơn hàng khác sẽ gấp số lần so với giá của đơn hàng có giá bán thấp nhất
5.2.3 Th ờ i gian x ử lý đơn vị c ủ a s ả n ph ẩ m
Từ bộ phận sản xuất ta có được thời gian gia công của một sản phẩm tương ứng trong đơn hàng Từ đó ta có được thông số thời gian xử lý đơn vị của sản phẩm (aj)
Bảng 5.4: Thời gian xử lý đơn vị của sản phẩm
Khách hàng Mã sản phẩm Thời gian gia công (s)
Cty TNHH Vĩ Năng HA3701-VN1 140
Cty TNHH Vĩ Năng HA3701-VN2 140
Nhà Phân Phối Mai Hai HA1101-HA7 115
Nhà Phân Phối Mai Hai HA1101-HA8 115
Công ty Sen vòi Viglacera HA0701-VL1 125
Nhà Phân Phối Hải Nghiệp HA0701-HA2 125
Nhà Phân Phối Hải Nghiệp HA1101-HA7 115
Nhà Phân Phối Hải Nghiệp HA3701-HA3 140
Nhà Phân Phối Hải Nghiệp HA3701-HA3 140
Công ty CP TBV Việt Nam HA1101-CO1 115
Luận văn thạc sĩ Trang 34
Khách hàng Mã sản phẩm Thời gian gia công (s)
Công ty CP TBV Việt Nam HA1101-CO1 105
5.2.4 Th ờ i gian x ử lý c ủa đơn hàng
Sau khi có được hai thông số là số lượng sản phẩm trong một đơn hàng và thời gian thực hiện một sản phẩm ta tính được thời gian thực hiện đơn hàng theo công thức sau: pj = aj x qj (5.1)
- aj: Thời gian xử lý đơn vị sản phẩm của đơn hàng j
- qj: Số lượng sản phẩm trong một đơn hàng j
- pj: Thời gian xử lý của đơn hàng thứ j
Bảng 5.5: Thời gian xử lý của đơn hàng
Ngày giao Mã sản phẩm Số lượng a j (s) p j (s)
Luận văn thạc sĩ Trang 35
5.2.5 Th ờ i gian s ẵ n sàng c ủa đơn hàng
Thời gian sẵn sàng của đơn hàng rj sẽ do người dùng nhập khi đơn hàng thực tế đi vào Người dùng sẽ xét xem có nguyên liệu để sẵn sàng sản xuất hay không
- Nếu không thì rj = Ngày có nguyên vật liệu – Ngày thực hiện điều độ
Bảng 5.6: Thời gian sẵn sàng của đơn hàng
Ngày giao Khách hàng Mã sản phẩm SL rj
16/04/2022 Cty TNHH Vĩ Năng HA3701-VN1 50 -
16/04/2022 Cty TNHH Vĩ Năng HA3701-VN2 100 -
16/04/2022 Nhà Phân Phối Mai Hai HA1101-HA7 300 - 16/04/2022 Cty TNHH SX KD Sứ Hảo Cảnh HA0301T-HA4 1,000 -
21/04/2022 Cty TNHH MTV Sứ Thiên Thanh HA2101-TT1 500 - 21/04/2022 Cty TNHH SX KD Sứ Hảo Cảnh HA4101-HC1 1,000 - 22/04/2022 Cty TNHH MTV Sứ Thiên Thanh HA0301T-TT1 500 - 22/04/2022 Cty TNHH MTV Sứ Thiên Thanh HA0701-TT1 500 - 22/04/2022 Cty TNHH MTV Sứ Thiên Thanh HA2901-TT1 1,900 - 22/04/2022 Cty TNHH MTV Sứ Thiên Thanh HA2101-TT1 500 - 22/04/2022 Cty TNHH MTV Sứ Thiên Thanh HA2501T-TT1 240 -
5.2.6 Th ờ i gian chuy ển đổ i
Thời gian chuyển đổi sẽ được xét là trong lịch điểu độ khi hai đơn hàng liên tiếp lên xưởng thì chúng có cần thực hiện việc chuyển đổi khuôn hay không Nếu cần thay đổi khuôn thì phải cộng thêm thời gian chuyển đổi này vào vì nó sẽ ảnh hưởng đến tiến độ của đơn hàng Muốn thực hiện được việc xét này, trước hết thực hiện trả các đơn hàng về khuôn cần thiết để sản xuất bằng cách rã BOM
Luận văn thạc sĩ Trang 36
Bảng 5.7: Các đơn hàng và khuôn tương ứng thực hiện
Mã sản phẩm SL Mã đóng gói Mã ép Khuôn Công suất
HA3701-VN1 50 CS2601-2 CS2601-LI1 K081 800
HA3701-VN2 100 CS2601-2 CS2601-LI1 K081 800
HA1101-HA7 300 CS1201-1 CS1201-CO1 K033 700
HA1101-HA8 300 CS1201-1 CS1201-CO1 K033 700
HA4001-TO1 3,408 CS3001-1 CS3001-TO1 K096-1 800
HA2101-TT1 500 CS1701-1 CS1701-CO1 K036 600
HA0301T-TT1 500 CS0301-1 CS0301-CO1 K031 600
HA0701-TT1 500 CS0701-1 CS0701-CO1 K038 600
HA2901-TT1 1,900 CS2201-2 CS2201-CO1 K063-1 800
HA2101-TT1 500 CS1701-1 CS1701-CO1 K036 600
HA2501T-TT1 240 CS2001-2 CS2001-CO1 K041 600
Bảng dữ liệu cho ta biết được những đơn hàng sẽ tương ứng với mã khuôn nào và từ đó cho ta biết được hai đơn hàng liên tiếp lên cùng một chuyền thì có cần thời gian chuyển đổi hay không Nếu hai dơn hàng liên tiếp được sản xuất cùng khuôn thì thời gian chuyển đổi là 0 ngược lại phải cộng thêm thời gian chuyển đổi vào trong quá trình tính toán
Kết quả sau khi dò khuôn và trả về thời gian chuyển đổi được thể hiện ở bảng dữ liệu bên dưới
Bảng 5.8: Thời gian chuyển đổi giữa các đơn hàng
HA3701-VN1 HA3701-VN2 HA1101-HA7 … HA1101-HA8
Luận văn thạc sĩ Trang 37
HA3701-VN1 HA3701-VN2 HA1101-HA7 … HA1101-HA8
Nhìn vào bảng ta thấy được có những đơn hàng nếu lên thứ tự liên tiếp thì không tốn thời gian chuyển đổi và ngược lại thì mất thời gian chuyển đổi Chẳng hạn khi chuyển từ đơn hàng HA3701-VN1 sang đơn hàng HA3701-VN2 thì thời gian chuyển đổi là 0 vì không cần thay khuôn nhưng khi chuyển từ đơn hàng HA3701-VN1 sang đơn hàng HA1101-HA7 thì thời gian chuyển đổi là 3 giờ Do đó khi tính toán ta phải cộng thêm thời gian chuyển đổi này, để sau khi chạy ra kết quả đã tối ưu được phần nào thời gian máy rỗi
5.2.7 Gán đơn hàng vào xưở ng Để thực hiện việc gán đơn hàng vào xưởng ta sử dụng dữ liệu thống kê khuôn lên máy trong năm 2021 của công ty Kết hợp với việc tham khảo ý kiến từ tổ trưởng ép máy để xác định khuôn nào phù hợp lên máy nào Từ đó thu
Luận văn thạc sĩ Trang 38 được kết quả những mã đơn hàng sẽ xếp mức độ ưu tiên lên các máy như thế nào
Tần suất khuôn lên máy sau khi thống kê được thể hiện trong bảng sau:
Hình 5.3: Tần suất khuôn-máy năm 2021
Sau khi thống kê ta có được tần suất các khuôn lên máy trong 12 tháng Dựa vào bộ số liệu này ta tiến hành sắp xếp thứ tự ưu tiên của các máy đối với từng đơn hàng
Ta trả về thứ tự ưu tiên của các máy đối với từng đơn hàng thông qua mã khuôn như sau:
Luận văn thạc sĩ Trang 39
Bảng 5.9: Thứ tự ưu tiên các máy của sản phẩm
Mã sản phẩm Khuôn ép Ưu tiên chọn máy
Các đơn hàng sẽ được ưu tiên gán lên các máy theo thứ tự ưu tiên 1, 2, 3,
4, 5, 6 Bắt đầu với ưu tiên 1 và giảm dần đến ưu tiên 6
Luận văn thạc sĩ Trang 40
Xây dựng mô hình toán
Để xây dựng mô hình toán, các giải định sau được đưa ra:
- Thời gian gia công một sản phẩm là hằng số
- Chưa xét đến yếu tố nguồn lực con người
- Bỏ qua thời gian bảo trì, sửa chữa máy móc
Mô hình bài toán trong nghiên cứu này với mục đích xác định các chỉ số, các biến, hàm mục tiêu, xác định các ràng buộc và điều kiện dừng Mô hình toán được trình bày như sau:
- j = 1,2, …., m: Số thứ tự điều độ đơn hàng
- aj: Thời gian xử lý đơn vị sản phẩm của đơn hàng j
- qj: Số lượng sản phẩm trong một đơn hàng j
- pj: Thời gian xử lý của đơn hàng thứ j
- sj, j+1: Thời gian chuyển đổi từ đơn hàng j sang đơn hàng j+1
- rj: Thời gian sẵn sàng của đơn hàng thứ j
- dj: Thời gian tới hạn của đơn hàng thứ j
- wj: Trọng số của đơn hàng thứ j
- Tl: Danh sách Tabu-list
- Sc: Lời giải tốt nhất hiện tại
- Sbest: Lời giải tốt nhất
- Lj: Độ trễ đại số của đơn hàng j
Biến: Biến của mô hình bài toán được phân thành hai loại là biến quyết định và biến phụ thuộc
• tsj: Thời gian bắt đầu của đơn hàng thứ j
• tej: Thời gian hoàn thành của đơn hàng thứ j
• uj: Biến nhị phân nhận hai giá trị uj = 0 nếu đơn hàng j không bị trễ và ngược lại uj = 1 nếu đơn hàng j bị trễ
Hàm mục tiêu: Hàm mục tiêu của mô hình là tối thiểu việc các đơn hàng quan trọng bị trễ
Luận văn thạc sĩ Trang 41
- 𝑡𝑡𝑡𝑡 j+1 ≥ 𝑡𝑡𝑡𝑡j: Thời gian bắt đầu của đơn hàng j+1 phải lớn hơn hoặc bằng thời gian hoàn thành của đơn hàng thứ j
- Nếu tej > rj+1 thì tsj+1 = tej + sj,j+1: Nếu thời gian có nguyên vật liệu của đơn hàng kế tiếp nhỏ hơn thời gian kết thúc của đơn hàng hiện tại thì thời gian bắt đầu của đơn hàng kế tiếp bằng thời gian kết thúc của đơn hàng hiện tại cộng với thời gian chuyển đổi giữa hai đơn hàng
- Nếu tej ≤ rj+1 thì có hai trường hợp xảy ra:
• Nếu rj+1 < sj,j+1 thì tsj+1 = tej + sj,j+1 tức là thời gian có nguyên vật liệu lớn hơn thời gian kết thúc của đơn hàng trước đó và nhỏ hơn thời gian chuyển đổi thì thời gia bắt đầu của đơn hàng kế tiếp cũng bằng thời gian kết thúc của đơn hàng trước đó cộng thời gian chuyển đổi giữa hai đơn hàng
• Nếu rj+1 > sj,j+1 thì tsj+1 = rj+1 tức là thời gian có nguyên vật liệu lớn hơn thời gian kết thúc của đơn hàng trước đó và lớn hơn thời gian chuyển đổi thì thời gian bắt đầu của đơn hàng tiếp theo bằng thời gian có nguyên vật liệu
• pj = aj x qj: Thời gian thực hiện đơn hàng j bằng thời gian thực hiện một sản phẩm trong đơn hàng nhân với số lượng sản phẩm của đơn hàng đó
• tej = tsj + pj: Thời gian hoàn thành của đơn hàng j bằng thời gian bắt đầu của đơn hàng j cộng với thời gian xử lý của đơn hàng j
• Lj = tej – dj: Độ trễ đại số của đơn hàng j bằng thời gian đến hạn của đơn hàng j trừ cho thời gian hoàn thành của đơn hàng o Nếu Lj > 0 tức là đơn hàng bị trễ Từ đó suy ra uj = 1 o Nếu Lj ≤ 0 tức là đơn hàng không bị trễ Từ đó suy ra uj = 0.
Giải thuật Tabu Search
Giải thuật giải bài toán dựa trên nền tảng giải thuật Tabu Search với các đặc điểm như sau:
- Di chuyển từ lời giải này sang lời giải khác Nếu tốt thì tiếp tục, nếu không thì chuyển hướng hoặc dừng
- Trong quá trình di chuyển sẽ không đi vào vùng cấm (Tabu list) Tabu list chứa những di chuyển vừa thực hiện trước đó nhưng bị cấm trong một số lần di chuyển kế tiếp Chiều dài Tabu list được chọn dựa trên
Luận văn thạc sĩ Trang 42 thống kê dữ liệu chiều dài Tabu list và giá trị hàm mục tiêu Chiều dài Tabu list được chọn dựa trên thống kê dữ liệu chiều dài Tabu list và giá trị hàm mục tiêu Chiều dài Tabu list nào có giá trị hàm mục tiêu ổn định sẽ được chọn làm chiều dài Tabu list cho phần mềm
- Quá trình di chuyển: Đi đến lân cận (hàng xóm) Các điểm lân cận được xác định bằng cách hoán chuyển vị trí hai phần tử liền kề
- Hàm mục tiêu: Tối thiểu tổng đơn hàng trễ có trọng số:
Min F = Min ∑ 𝑤𝑤 𝑚𝑚 𝑖𝑖=1 𝑗𝑗 𝑢𝑢 𝑗𝑗 (5.2) Giải thuật Tabu Search được thể hiện như sơ đồ hình bên dưới:
Hình 5.4: Giải thuật Tabu Search cho bài toán
Luận văn thạc sĩ Trang 43
- Chọn lời giải ban đầu S1: Lời giải ban đầu có ảnh hưởng rất lớn đến kết quả tìm kiếm của giải thuật Tabu Search, lời giải ban đầu tốt thì sẽ tìm ra lời giải tối ưu nhanh chóng hơn Có nhiều cách phát lời giải ban đầu, có thể dùng các luật phân việc cơ bản như LPT, SPT, EDD Trong nghiên cứu này sử dụng luật EDD để phát ra lời giải ban đầu do công ty ưu tiên sản xuất những đơn hàng sớm hạn hơn trước
- Đặt lời giải ban đầu là lời giải tốt nhất hiện tại: Sbest = S1
- Giá trị của lời giải ban đầu là giá trị tốt nhất F(Sbest) = F(S1)
- Xác định lân cận N(Sk) bằng cách hoán chuyển vị trí hai phần tử liền kề
- Tính giá trị hàm F(Sk) với các ràng buộc
- Chọn thứ tự điều độ Sc tốt nhất từ Sk
- Nếu di chuyển Sk Sc bị cấm bởi một cặp di chuyển trong Tabu list thì loại bỏ lời giải vừa chọn và di chuyển đến bước 2
- Nếu di chuyển Sk Sc không bị cấm thì Sk+1 = Sc
• Áp dụng cơ chế chồng (stack) với chiều dài danh sách cấm phụ thuộc vào số lượng các đơn hàng đầu vào
• Đưa di chuyển vừa rồi lên đầu của danh sách
• Đẩy danh sách xuống một vị trí
• Xóa vị trí cuối cùng
- Nếu hàm F(Sc) tốt hơn F(Sbest) thì F(Sbest) = F(SC) và Sbest = SC
- Nếu thỏa điều kiện dừng thì ngừng lặp (Điều kiện dừng sẽ được xác định dựa trên dữ liệu thống kê, sau đó xác định số lần lặp phù hợp đối với bộ dữ liệu) Ngược lại thì quay lại bước thứ 2.
Xác định chiều dài Tabu list và số lần lặp
Để hoàn thiện phần mềm điều độ, ta chạy phần mềm với số lần lặp và chiều dài Tabu list khác nhau và chọn số lần lặp và chiều dài tabu list phù hợp
Vì số lượng tối đa của đơn hàng trong một tháng khoảng 150 lệnh sản xuất và phần mềm sẽ điều độ lại theo hàng ngày nên số lượng đơn hàng cần điều độ sẽ
Luận văn thạc sĩ Trang 44 dao động trong khoảng từ 0 đến 150 sản xuất Do đó ta chọn cỡ mẫu để chạy chương trình điều độ để thống kê và lựa chọn số lần lặp và chiều dài tabu list là
5.5.1 Xác đị nh chi ề u dài Tabu list
Ta thống kê chiều dài Tabu list và giá trị hàm mục tiêu để điều độ 150 công việc và thu được kết quả như hình bên dưới
Hình 5.5: Sự thay đổi của hàm mục tiêu theo chiều dài Tabu list
Hình trên cho ta thấy được giá trị hàm mục tiêu sẽ giảm dần khi chiều dài Tabu list tăng lên, nhưng bắt đầu từ khi chiều dài Tabu list là 31 thì gần như giá trị hàm mục tiêu không thay đổi nữa Vì vậy, ta chọn chiều dài Tabu list là 31
Ta thống kê số lần lặp và giá trị hàm mục tiêu để điều độ cho 150 công việc và thu được kết quả như hình bên dưới
Luận văn thạc sĩ Trang 45
Hình 5.6: Sự thay đổi của hàm mục tiêu theo số lần lặp
Hình trên cho ta thấy được giá trị hàm mục tiêu sẽ giảm dần khi số lần lặp tăng lên, nhưng bắt đầu từ lần thứ 50 số lần lặp tăng thì gần như giá trị hàm mục tiêu không thay đổi nữa Vì vậy, ta chọn số lần lặp là 50.
Giải thuật tự động lên lịch bắt đầu cho từng lệnh sản xuất
Giải thuật tự động lên lịch bắt đầu cho từng lệnh sản xuất được thể hiện như sơ đồ bên dưới
Luận văn thạc sĩ Trang 46
Hình 5.7: Giải thuật tự động lên lịch bắt đầu cho từng lệnh sản xuất
- Từ dữ liệu sau khi điều độ các lệnh sản xuất, ta thu thập toàn bộ dữ liệu: số thứ tự, mã phiếu, mã BOM, máy ép, khuôn, ngày sẵn sàng, hạn sản xuất, ngày bắt đầu, ngày kết thúc, thời gian dự kiến sản xuất
- Lần lượt chọn lệnh sản xuất với độ ưu tiên từ cao xuống thấp
- Xác định thứ tự của lệnh được chọn trên máy ép có liên quan
- Kiểm tra xem có phải lệnh làm việc đầu tiên của máy ép không?
• Nếu đúng, thời gian bắt đầu sẽ là 7 giờ sáng ngày mai
• Nếu không, thời gian bắt đầu sẽ là thời gian kết thúc của lệnh làm việc trước đó Sau đó, kiểm tra xem có cần phải thay khuôn mới không? o Nếu đúng, thời gian bắt đầu sẽ được cộng thêm 3 giờ chuyển đổi khuôn máy o Nếu sai, thời gian bắt đầu sẽ được giữ nguyên
- Kiểm tra thời gian sẵn sàng của lệnh sản xuất có lớn hơn thời gian bắt đầu không?
Luận văn thạc sĩ Trang 47
• Nếu đúng, thời gian bắt đầu sẽ là thời gian sẵn sàng của lệnh sản xuất
• Nếu sai, thời gian bắt đầu sẽ được giữ nguyên
- Lên lịch công việc với thời gian bắt đầu đã tính toán được ở bước 2
- Kiểm tra đơn sản xuất có bị trễ so với hạn sản xuất và chưa thay thế máy ép lần nào không?
• Nếu đúng, kiểm tra có máy ép thay thế không? o Nếu đúng, chọn máy ép ưu tiên cao nhất có thời gian kết thúc sớm nhất Sau đó, thay thế máy ép tại lệnh làm việc và bắt đầu quay lại bước 2 o Nếu sai, kết thúc việc tự động lên lịch này
• Nếu sai, kết thúc việc tự động lên lịch này.
Xây dựng chế độ xem Gantt trong Odoo dùng module web timeline của
Module web timeline được xây dựng và phát triển bởi OCA (Odoo Community Association) Module hỗ trợ xác định chế độ xem mới, hiển thị các sự kiện trong biểu đồ Gantt
Cần xác định chế độ xem với thẻ làm phần tử cơ sở Đây là các thuộc tính có thể có của thẻ:
- date_start: Xác định tên của trường ngày bắt đầu sự kiện
- date_stop: Xác định tên của trường ngày kết thúc sự kiện
- default_group_by: Xác định tên của trường sẽ được lấy làm nhóm mặc định khi truy cập dạng xem
- event_open_popup: Nó cho phép chỉnh sửa các sự kiện trong cửa sổ bật lên
- color: Cho phép đặt một số màu cụ thể nếu điều kiện được thể hiện được đáp ứng Để truy cập chế độ xem biểu đồ Gantt, phải nhấp vào nút có biểu tượng đồng hồ trong trình chuyển đổi chế độ xem Lần đầu tiên truy cập vào nó, cửa sổ sẽ được thu phóng để phù hợp với tất cả các phần tử hiện tại, giống như thực hiện tìm kiếm, lọc hoặc nhóm thao tác
Luận văn thạc sĩ Trang 48
Có thể sử dụng cuộn chuột để phóng to hoặc thu nhỏ dòng thời gian và nhấp vào bất kỳ vùng trống nào và kéo để xoay chế độ xem theo hướng đó
Sự kiện sẽ được hiển thị dưới dạng hình chữ nhật có chiều rộng là thời gian của sự kiện Có thể chọn chúng bằng cách nhấp vào hình chữ nhật này Các sự kiện đã chọn được đánh dấu bằng một màu khác Sau khi được chọn, có thể kéo và di chuyển các sự kiện trên dòng thời gian
Khi một sự kiện được chọn, một nút chữ thập đỏ xuất hiện ở góc bên trái cho phép xóa sự kiện đó
Các sự kiện được nhóm thành các khối khác nhau tùy thuộc vào nhóm theo tiêu chí đã chọn Kéo một bản ghi từ khối này sang khối khác sẽ thay đổi trường tương ứng thành giá trị đại diện cho khối Có thể nhấp vào tên nhóm để chỉnh sửa trực tiếp sự kiện liên quan
Hình 5.8: Chế độ xem Gantt được xây dựng trong Odoo
CHƯƠNG 6 KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ
Giải bài toán điều độ trên Odoo cho đơn hàng tháng 4
6.1.1 Cơ sở d ữ li ệ u Để chạy được chương trình cần cập nhật một cơ sở dữ liệu về khách hàng, danh mục các sản phẩm, giá bán từng sản phẩm, thời gian thực hiện, khuôn và máy để thực hiện đơn hàng đó
Hình 6.1: Dữ liệu về khách hàng
Hình 6.2: Dữ liệu về sản phẩm
Luận văn thạc sĩ Trang 50
Hình 6.3: Dữ liệu về máy ép
Hình 6.4: Dữ liệu về cấu trúc nguyên vật liệu
Luận văn thạc sĩ Trang 51
Hình 6.5: Dữ liệu về thời gian ép máy và máy thay thế
Sau khi hoàn tất khai báo, cơ sở dữ liệu sẽ được lưu lại Khi đơn hàng thực tế vào, người dùng chỉ cần nhập mã sản phẩm, các thông tin liên quan sẽ tự động được truy xuất
6.1.2 Nh ậ p d ữ li ệu đơn hàng tháng 4 Để nhập dữ liệu về đơn hàng, ta chọn module Bán hàng
Hình 6.6: Dữ liệu đơn hàng cần giao
Luận văn thạc sĩ Trang 52 Đơn hàng được khai báo bao gồm các thông tin về khách hàng, tên sản phẩm, số lượng Còn các thông tin về giá bán, thành tiền sẽ được cập nhật theo tên sản phẩm
Hình 6.7: Thông tin chi tiết của đơn hàng
Tiếp theo để khai báo ngày đến hạn của sản phẩm ta ấn vào Thông tin khác và chọn thời gian
Hình 6.8: Khai báo ngày đến hạn của đơn hàng
Luận văn thạc sĩ Trang 53
Sau khi đã khai báo đơn hàng, phần mềm sẽ tự động hình thành các đơn sản xuất với các sản phẩm được cấu hình MTO (Make To Order) từ trước
Hình 6.9: Danh sách các đơn sản xuất cần điều độ
Các thông tin của đơn sản xuất được thể hiện trên hình bao gồm nguồn đơn hàng, mã sản phẩm, số lượng cần, thời gian dự kiến, trọng số
Tại Lệnh sản xuất, ta có thể thay đổi thời gian sẵn sàng của đơn sản xuất
Hình 6.10: Khai báo thời gian sẵn sàng của đơn sản xuất
Luận văn thạc sĩ Trang 54
6.1.3 Th ự c hi ện điều độ và lên lị ch d ự ki ế n b ắt đầ u Để thực hiện điều độ, ta chọn các đơn hàng và ấn nút Điều độ
Hình 6.11: Thực hiện điều độ các đơn hàng Để lên lịch bắt đầu dự kiến, ta chọn các đơn hàng và ấn nút Cài đặt ngày dự kiến bắt đầu, chọn ngày dự kiến bắt đầu và bấm Lên lịch
Hình 6.12: Thực hiện lên lịch dự kiến bắt đầu cho các đơn hàng
Luận văn thạc sĩ Trang 55
6.1.4 Xem k ế t qu ả Để xem kết quả điều độ, ta chọn vào Hoạt động Đơn công đoạn để xem kết quả điều độ Kết quả điều độ được thể hiện như hình, những đơn hàng ưu tiên sản xuất sẽ được sắp xếp từ trên xuống theo thứ tự ưu tiên giảm dần
Hình 6.13: Kết quả điều độ Để biết được thứ tự thực hiện đơn sản xuất, thời gian thực hiện đơn sản xuất, đơn sản xuất nào sẽ được thực hiện trên máy ép nào, thời gian bắt đầu và kết thúc khi nào, ta có thể lọc theo từng máy ép để nhìn trực quan hơn
Hình 6.14: Kết quả điều độ theo từng máy ép
Luận văn thạc sĩ Trang 56
Tiếp theo, những đơn sản xuất được đưa vào sản xuất thì người dùng sẽ ấn vào nút Khởi động để đơn sản xuất bắt đầu được thực hiện và giám sát thời gian thực hiện Khi có sự cố ngừng sản xuất, người dùng sẽ ấn vào nút Khóa ở đơn sản xuất đó để nó dừng lại
Kết quả cho thấy được thứ tự thực hiện lệnh làm việc trên các máy ép, thời gian bắt đầu, thời gian kết thúc, thời gian thực hiện của từng lệnh làm việc Đối với hai lệnh làm việc liên tiếp trên một máy mà không cần thay khuôn thì không cần cộng thêm 3 giờ chuyển đổi
Sơ đồ Gantt thể hiện kết quả điều độ được thể hiện như hình bên dưới
Hình 6.15: Kết quả điều độ theo sơ đồ Gantt
Kết quả ở sơ đồ Gantt thể hiện được thứ tự thực hiện của các lệnh làm việc trên từng máy ép, thời gian bắt đầu và kết thúc của từng lệnh làm việc.
Đánh giá kết quả
6.2.1 K ế t qu ả điều độ đơn hàng tháng 4 Để có cái nhìn trực quan về tính khả thi của việc tự động lên lịch cho các lệnh làm việc sau khi điều độ thì sau đây là kết quả xuất biểu đồ Gantt trước và sau tìm máy ép thay thế
Luận văn thạc sĩ Trang 57
Hình 6.16: Kết quả tự động lên lịch khi chưa tìm máy ép thay thế
Hình 6.17: Kết quả tự động lên lịch khi đã tìm máy ép thay thế
Sơ đồ găng thể hiện một cách trực quan sự bố trí của các đơn hàng lên các xưởng Khi trỏ chuột vào vị trí của một đơn hàng ta sẽ biết được đơn hàng đó là đơn hàng nào, xưởng mà nó sẽ thực hiện, thời gian bắt đầu và kết thúc của đơn hàng Ở phía trên của sơ đồ găng còn thể hiện kết quả là tổng số đơn hàng trễ theo kết quả điều độ của phần mềm và độ trễ tối đa của mỗi đơn hàng
Từ hai hình trên, có thể thuật toán tự động lên lịch bắt đầu có áp dụng việc tìm kiếm máy ép thay thế đã hiệu quả hơn rất nhiều Chỉ còn tồn tại 5 lệnh sản xuất trễ so với 25 lệnh sản xuất trễ khi không tìm kiếm máy ép thay thế
Luận văn thạc sĩ Trang 58
Kết quả về điều độ có thể được xuất dưới dạng file Excel, với các thông số xuất ra được người dùng chọn các thông số, số thứ tự, đơn hàng, sản phẩm, ngày bắt đầu, ngày kết thúc, độ trễ, xưởng gia công, khuôn gia công
Lệnh Sản xuất Khuôn Ngày dự kiến bắt đầu
Ngày dự kiến kết thúc
Kết quả điều độ đầy đủ được thể hiện ở Phụ lục điều độ cho nắp bàn cầu tháng 4 năm 2022
Với việc sử dụng phần mềm điều độ thì số đơn hàng trễ là 5 trên tổng số
150 đơn, tức là tỷ lệ trễ đơn hàng là 3.33% Theo dữ liệu thực tế sản xuất thì tỷ lệ trễ đơn hàng tháng 4 năm 2022 là 15%, tương ứng với trễ 22 đơn hàng trên
Vì vậy, khi so sánh, ta có thể thấy phần mềm hiệu quả hơn về kết quả đầu ra Với số đơn hàng trễ trong tháng là 5 đơn, tương đương tỷ lệ trễ đơn hàng giảm 3.33%
6.2.2 Đánh giá phầ n m ềm điều độ so v ớ i th ự c hi ện điều độ hi ệ n t ạ i ở công ty
Bảng 6.1: Bảng đánh giá phần mềm điều độ
Tiêu chí Điều độ hiện tại Phần mềm điều độ
Tính tối ưu Kết quả Tỷ lệ trễ đơn hàng là 15% Tỷ lệ trễ đơn hàng là 3.33%
Luận văn thạc sĩ Trang 59
Tiêu chí Điều độ hiện tại Phần mềm điều độ
Công sức Tốn nhiều giờ công Tốn ít giờ công Thời gian thực hiện 5760 phút 780 phút
Dễ sử dụng Không Có
Công cụ xử lý Excel Odoo
Quản lý cơ sở dữ liệu Liên kết file dữ liệu Tổ chức theo từng module
Khả năng mở rộng Thấp, phải trích xuất dữ liệu riêng lẻ từ báo cáo bán hàng, kho, vật tư
Khả năng mở rộng cao, có khả năng liên kết với kho, bán hàng, vật tư
Từ bảng đánh giá ta thấy được, việc sử dụng phần mềm điều độ có nhiều ưu điểm hơn việc điều độ hiện tại của công ty như tốc độ xử lý nhanh hơn, ít tốn công sức của con người hơn do ở cách điều độ hiện tại người dùng phải sắp xếp theo kinh nghiệm, nên phải điều chỉnh qua lại trên Excel làm mất nhiều thời gian và công sức còn phần mềm điều độ thì chỉ cần nhập dữ liệu về đơn hàng như khách hàng, mã sản phẩm, số lượng và ngày giao thì máy tính sẽ tự động xử lý và trả ra kết quả sắp xếp thứ tự các đơn hàng Do đó người dùng ít tốn thời gian và công sức hơn Về quản lý cơ sở dữ liệu, phần mềm quản lý theo từng module rõ ràng và có khả năng mở rộng liên kết với các phần khác, còn Excel thì quản lý dữ liệu dưới dạng các Sheet Điều quan trọng hơn hết là phần mềm điều độ mang lại kết quả điều độ hiệu quả hơn giải pháp hiện tại ở công ty với tỷ lệ trễ đơn hàng thấp hơn
Luận văn có một số ưu và nhược điểm sau:
• Đạt được mục tiêu giảm tỷ lệ trễ đơn hàng tự 15% xuống 3%
• Giao diện thân thiện với người dùng
• Thời gian tính toán giảm khoảng 4 lần (Giảm từ 4 ngày xuống còn
• Chưa xử lý được trường hợp bất thường như máy hỏng
Luận văn thạc sĩ Trang 60
• Một số ràng buộc thực tế như nhân công vận hành, thời gian bảo trì, bảo dưỡng máy chưa được xem xét
• Bộ dữ liệu về thời gian đang sử dụng dựa trên database của công ty do đó chưa tính đến hiệu suất máy ép nên chưa sát với thực tế
6.2.4 Định hướ ng phát tri ể n
Do giới hạn về thời gian và nguồn lực, luận văn vẫn còn một số hạn chế
Do đó, định hướng phát triển cho nghiên cứu sau này là thực hiện các công việc sau:
- Nghiên cứu thêm về phân chia đơn hàng để xử lý những trường hợp bất thường như máy hỏng
- Nghiên cứu giải thuật cho mô hình bài toán bổ sung thêm các ràng buộc tăng ca, nhân công, bảo trì máy, nghỉ lễ,…
- Cần thu thập dữ liệu và tính thêm hiệu suất làm việc của máy ép để thời gian chạy của chương trình sát với thực tế
Luận văn thạc sĩ Trang 61