| import json | |
| import os | |
| import glob | |
| config = { | |
| 'stages': [ | |
| ] | |
| } | |
| stages_config ={ | |
| "Problem Background": "Establish a clear understanding of the context, origin, and importance of the problem being addressed. Highlight real-world relevance, prior research, and the motivations behind solving this problem.", | |
| "Problem Requirement": "Define the precise objectives, constraints, and deliverables of the problem. Specify what constitutes a successful solution and delineate the boundary conditions of the modeling effort.", | |
| "Problem Analysis": "Conduct a comprehensive analysis to identify key variables, influential factors, and structural properties of the problem. Investigate any patterns, relationships, and complexities that must be accounted for in the modeling process.", | |
| "High-Level Modeling": "Formulate an abstract mathematical representation of the problem. Select appropriate mathematical structures (e.g., equations, functions, networks) and determine how they represent the problem’s real-world elements and behaviors.", | |
| "Task Decomposition": "Break down the overall problem into smaller, manageable sub-tasks. Identify specific modeling or computational components required to solve each sub-task and how they interact within the overall system.", | |
| "Dependency Analysis": "Map out the dependencies among sub-tasks, variables, and parameters. Determine how changes in one part of the model affect other components and use this to inform modeling strategy, computational order, and integration of results.", | |
| } | |
| # MCM_PROBLEMS = { | |
| # "2024_C": { | |
| # "title": "Problem C: Positioning the Charging Stations", | |
| # "background": "Electric vehicles (EVs) are becoming increasingly popular, leading to a growing demand for charging infrastructure. Efficient placement of charging stations is crucial for supporting EV adoption and ensuring user convenience.", | |
| # "requirements": "Develop a mathematical model to determine the optimal placement of new public Level 2 and DC Fast Charging stations in a city or region. Consider factors like population density, traffic flow, existing infrastructure, grid capacity, and EV adoption projections. The model should aim to maximize accessibility and minimize waiting times or total travel distance for EV users." | |
| # }, | |
| # "2023_A": { | |
| # "title": "Problem A: Leigh Hunt Bookshelf Problem", | |
| # "background": "Leigh Hunt, a 19th-century British writer, posed a question about arranging books on a shelf, considering their heights and widths. The problem involves finding aesthetically pleasing or mathematically interesting arrangements based on certain criteria.", | |
| # "requirements": "Analyze the arrangement of books on a single shelf. Develop a model that considers book dimensions (height, width) and possibly color or genre. Define and optimize criteria for a 'good' arrangement, such as minimizing height variance between adjacent books, grouping books by size, or creating visually appealing patterns. Explore the combinatorial possibilities and computational complexity." | |
| # }, | |
| # "2022_B": { | |
| # "title": "Problem B: The Hydrogel Stretchy Tape Measure", | |
| # "background": "Hydrogels are polymer networks that can absorb large amounts of water, causing them to swell and become elastic. Imagine a tape measure made from a hydrogel material that changes its length depending on humidity or hydration level.", | |
| # "requirements": "Model the behavior of a hydrogel tape measure. Develop a mathematical model describing how the length markings on the tape stretch or contract as the hydrogel absorbs or releases water. Consider factors like material properties, water diffusion rates, and the non-uniformity of stretching. Analyze the accuracy of measurements made with such a tape under varying conditions." | |
| # } | |
| # } | |
| # load MCM_PROBLEMS from | |
| # Adjust paths relative to the script location or use absolute paths | |
| MCM_PROBLEMS = {} | |
| base_data_path = '../data/actor_data/input/problem' # Adjust if necessary | |
| problem_files = glob.glob(os.path.join(base_data_path, '*.json')) | |
| # load the json file | |
| for problem_file in sorted(problem_files, reverse=True): | |
| with open(problem_file, 'r') as f: | |
| problem_data = json.load(f) | |
| name = os.path.basename(problem_file).split('.')[0] | |
| MCM_PROBLEMS[name] = problem_data | |
| # print(MCM_PROBLEMS.keys()) | |
| # print(MCM_PROBLEMS["2024_C"].keys()) | |