This repository is dedicated to organizing and archiving problems, papers, code, data, and solution strategies for the Mathematical Contest in Modeling (MCM/ICM) and the China Undergraduate Mathematical Contest in Modeling (CUMCM). It aims to facilitate team retrospectives, knowledge accumulation, and preparation for future competitions. The primary programming language used is Python, with MATLAB employed for problems involving physical modeling (e.g., Problem A) and machine learning. Each problem includes both Python and MATLAB implementations where possible. All code has been tested, and all papers have undergone secondary review to ensure accuracy of descriptions, formulas, and figures. If you find any errors or have better model suggestions, feel free to submit an issue or pull request.
- Python:3.13
- MATLAB:R2025a
- Typst:0.13.1
Each problem folder includes:
-
The
attachmentfolder contains the original data provided in the problem statement. Large Excel files may be compressed into Parquet format. For other types of files such as images or videos, please download the full attachments from the official CUMCM or MCM/ICM websites. -
The
datafolder contains figures and data generated by the code. To minimize repository size, these files are not uploaded and must be generated by running the code locally. -
The
paper.typfile is the source code for the paper, written in Typst. To compile it into a PDF, download and use the Typst CLI tool. Each release also includes a compiled PDF version of the paper. -
The
requirements.txtfile lists the Python packages required to run the code for the specific problem. Please configure your environment according to this file.
Important
The paper uses the "Source Han Serif" font. If this font is not installed on your system, the compilation will fail. You can download the font from: https://github.com/adobe-fonts/source-han-serif, and follow the instructions to install the appropriate version.
First, download Typst from its official GitHub repository. After downloading, use the following commands to compile:
# Creates `file.pdf` in working directory.
typst compile file.typ
# Creates PDF file at the desired path.
typst compile path/to/source.typ path/to/output.pdfFor more help with Typst commands:
# Prints available subcommands and options.
typst help
# Prints detailed usage of a subcommand.
typst help watch- 2022-CUMCM
- Problem C: Composition Analysis and Identification of Ancient Glass Artifacts
- 2023-51MCM
- Problem B: Analysis of Demand for Express Services
All code in this project is released under the MIT. Other materials such as papers and data are released under the CC BY-NC 4.0 license. These non-code materials are for non-commercial use only.