Giải bài toán VRP với thuật toán PSO trong MATLAB
Triển khai thuật toán tối ưu bầy đàn (PSO) trong MATLAB để giải quyết bài toán định tuyến phương tiện (VRP). Phương pháp này được sử dụng để giải bài toán định tuyến phương tiện có cửa sổ thời gian (VRPTW).
Triển khai mã nguồn MATLAB
1. Hàm thuật toán PSO
function [optimalPath, minimalCost] = psAlgorithm_vrp(customerCount, vehicleCount, demandL ...
Đăng vào ngày 14 tháng 9 lúc 03:02
register biến có thực sự tăng tốc mã không? 99% lập trình viên hiểu sai công dụng thực sự
Lịch sử của từ khóa register
Trong những năm đầu phát triển ngôn ngữ C, từ khóa register được dùng để đề xuất trình biên dịch lưu trữ biến trong thanh ghi CPU nhằm giảm chi phí truy cập bộ nhớ, qua đó cải thiện hiệu năng. Tuy nhiên, với sự tiến bộ của công nghệ tối ưu hóa trình biên dịch hiện đại, phương pháp tối ưu hóa thủ công này ngày càng í ...
Đăng vào ngày 7 tháng 9 lúc 09:17
WarcraftHelper: Hướng Dẫn Tối Ưu Hóa Warcraft III Trên Máy Hiện Đại
Giới thiệu WarcraftHelper
WarcraftHelper là một công cụ nguồn mở chuyên dụng cho Warcraft III, hỗ trợ các phiên bản từ 1.20e đến 1.27b. Công cụ này giải quyết các vấn đề tương thích trên hệ điều hành hiện đại, bao gồm: điều chỉnh分辨率, phá vỡ giới hạn kích thước bản đồ, và mở khóa giới hạn FPS.
Các vấn đề tương thích phổ biến
Trên các máy tí ...
Đăng vào ngày 3 tháng 9 lúc 09:18
Tối ưu hóa và Tinh gọn JBoss AS
Hướng dẫn này tập trung vào việc tinh chỉnh và tối giản hóa JBoss Application Server. Hai khái niệm này thường độc lập với nhau. Giảm bớt các luồng dịch vụ nhàn rỗi thông qua việc tinh gọn có thể không ảnh hưởng nhiều đến hiệu suất, nhưng việc sử dụng ít tài nguyên hơn có thể cho phép bạn tinh chỉnh các khía cạnh hiệu suất khác. Tất nhiên, điều ...
Đăng vào ngày 21 tháng 8 lúc 14:45
Thuật toán tham lam giải bài toán phủ đoạn thời gian
Mô tả bài toán
Cho một khoảng thời gian tổng thể bắt đầu từ 1 đến $T$. Có $N$ nhân sự có thể được điều phối, trong đó mỗi nhân sự $i$ chỉ sẵn sàng làm việc trong một khoảng thời gian cố định $[S_i, E_i]$. Yêu cầu đặt ra là cần chọn ra số lượng nhân sự ít nhất sao cho tại mọi thời điểm $t \in [1, T]$, luôn có ít nhất một người đang làm việc.
Kết ...
Đăng vào ngày 17 tháng 8 lúc 05:39
Hướng dẫn toàn diện phân tích hiệu năng bằng Flame Graph
Giới thiệu Flame Graph và Flamegraph Crate
Flame Graph là một công cụ trực quan hóa dữ liệu hiệu năng, biểu diễn thời gian thực thi hàm dưới dạng các thanh ngang xếp chồng, giúp lập trình viên nhanh chóng xác định các điểm nghẽn. Thư viện flamegraph cho Rust cung cấp cách thức đơn giản để tạo ra các biểu đồ này mà không cần phụ thuộc vào Perl h ...
Đăng vào ngày 29 tháng 7 lúc 07:54
Tối ưu hóa xây dựng đồ thị bằng cấu trúc dữ liệu
Tối ưu hóa xây dựng đồ thị bằng cấu trúc dữ liệu
Trong một số trường hợp, chúng ta cần nối tất cả các đỉnh có chỉ số trong đoạn [L, R] với tất cả các đỉnh có chỉ số trong đoạn [L', R']. Nếu thực hiện trực tiếp sẽ dẫn đến độ phức tạp O(n²m). Do đó, chúng ta cần phân chia đoạn thành các khối nhỏ để xử lý thống nhất.
Chúng ta cần xây dựng một cây ...
Đăng vào ngày 22 tháng 7 lúc 07:32
Cơ chế Zero Copy trong Netty và các kỹ thuật tối ưu hóa bộ nhớ
Khái niệm Zero-copy (sao chép không) thường được hiểu là các thao tác trên máy tính mà trong đó CPU không phải thực hiện việc sao chép dữ liệu từ vùng nhớ này sang vùng nhớ khác. Mục tiêu chính là giảm tải chu kỳ CPU và băng thông bộ nhớ khi truyền tải dữ liệu, đặc biệt là qua mạng.
Tại tầng Hệ điều hành (OS), Zero-copy thường ám chỉ việc trán ...
Đăng vào ngày 21 tháng 7 lúc 02:02
llgo CLI Options Deep Dive: 10 Advanced Compilation Tuning Strategies
llgo is an experimental Go compiler built atop LLVM, designed to translate Go source into highly optimized native binaries. Unlike the standard gc toolchain, llgo exposes fine-grained control over code generation, optimization passes, and runtime integration—enabling developers to tailor compilation behavior for performance-critical or embedded ...
Đăng vào ngày 20 tháng 7 lúc 03:29
Tối Ưu Hóa Vue3
Tối Ưu Hóa Trong Vue3
Bài viết này sẽ tập trung vào phiên bản mã nguồn của Vue2, trong khi Vue3 đã hoàn toàn cải tiến thuật toán Diff. Dù vậy, mục tiêu vẫn không thay đổi.
Các Tính Năng Được Cải Thiện
Lưu trữ sự kiện: Sự kiện được lưu trữ và có thể xem như tĩnh.
Thêm dấu hiệu tĩnh: Vue2 sử dụng Diff toàn bộ, còn Vue3 kết hợp dấu hiệu tĩnh với ...
Đăng vào ngày 11 tháng 7 lúc 21:16