Our AI‑Powered Strategies for the 2024 Huawei Software Elite Challenge
This article details how the CQU team tackled the 2024 Huawei Software Elite Challenge by designing AI‑driven robot and ship scheduling, path‑planning, and collision‑avoidance algorithms across the preliminary, semi‑final, and final rounds, sharing insights, code links, and lessons learned.
Motivation
In the 2024 10th Huawei Software Elite Challenge "Planck Project" global finals, the CQU team "CQU‑42IsAllYouNeed" achieved the runner‑up position. Team members Liu Yipeng and Jiang Jiahong share their motivations, problem‑solving ideas, and takeaways.
Problem Overview
The competition task is an intelligent port simulation where robots and ships must be purchased and controlled to maximize profit. The map size grows from 200×200 in the preliminary round to 800×800 in the final round, and multiple teams compete simultaneously.
Preliminary Round Strategy
Robots (10) collect goods on land and deliver them to berths; ships (5) transport goods from berths to a virtual point. Our approach includes:
Cargo decision : assign cargo to robots using a greedy value‑to‑distance ratio instead of the Hungarian algorithm.
Berth decision : robots always head to the nearest berth, disabling some berths to concentrate cargo.
Path planning : pre‑compute distances from each berth using BFS and follow decreasing‑distance paths.
Collision avoidance : give robots heading to berths a different movement preference (horizontal first) than those heading to cargo (vertical first); resolve imminent collisions by stopping one robot or applying random avoidance.
Ship scheduling focuses on selecting the berth with the highest estimated value (value divided by expected travel time) and disabling low‑value berths. Dijkstra’s algorithm pre‑computes distances from purchase points and berths.
Semi‑Final Round Adjustments
Key changes: robots and ships must be purchased at specific locations, ship movement and docking require manual scheduling, new slower‑speed channels appear, and robot collision penalties are reduced. We kept most robot logic unchanged, focusing on purchase decisions and ship scheduling.
We manually set robot and ship counts per map, prioritized ship purchases, and used block‑based purchase‑point selection based on the ratio of desired to available units. An expensive dual‑cargo robot was discarded after cost‑benefit analysis.
Ship decisions use the same value‑to‑time ratio as before, with ships returning to the virtual point when fully loaded or when a berth becomes empty. Dijkstra pre‑computes distances for all purchase points and berths, accounting for ship orientation.
Final Round Enhancements
The final round introduced multi‑team PK, larger maps, value sharing between robots and ships, and large‑model Q&A for valuable items. Our strategy evolved to:
Purchase balancing : dynamically decide between buying robots or ships based on current ratios.
Robot decision : divide the map into patches, compute potential value per patch each frame, and send robots to the highest‑value patch; a signaling mechanism redirects nearby robots when high‑value cargo appears.
Robot pathfinding & avoidance : pre‑process a connectivity graph of patches; robots move only to adjacent patch centers to reduce computation, and handle collisions with random stay, replanning, or random avoidance.
Ship decision : select berths using the estimated value‑to‑time ratio, consider waiting times, and prefer ships that are fully loaded before moving.
Ship pathfinding & avoidance : employ a truncated A* algorithm guided by BFS‑derived costs, planning only a few steps ahead each frame; collisions are resolved by stopping or replanning.
Large‑model Q&A : improve prompt design and top‑k settings to reduce response time and increase accuracy.
Results and Lessons Learned
Our iterative improvements and extensive parameter tuning helped us secure the second place in the global finals. Key takeaways include the importance of limiting state design complexity, fine‑tuning large‑model prompts, maintaining consistent code style within the team, encapsulating algorithms for easier modification, and collaborating with other teams and organizers for deeper problem understanding.
Huawei Cloud Developer Alliance
The Huawei Cloud Developer Alliance creates a tech sharing platform for developers and partners, gathering Huawei Cloud product knowledge, event updates, expert talks, and more. Together we continuously innovate to build the cloud foundation of an intelligent world.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
