医疗资源分配优化:从排队论到整数规划的实战建模指南

发布时间:2026/8/27 20:58:23

医疗资源分配优化:从排队论到整数规划的实战建模指南
1. 从“看病难”到“模型解”一个资源分配的现实困境每次去医院无论是自己还是陪家人最直观的感受往往不是疾病的痛苦而是漫长的等待。挂号排队、候诊排队、检查排队、缴费排队……“看病难”三个字背后核心症结之一就是医疗资源——医生、护士、床位、设备、药品——在时间和空间上的分配不均。这不仅仅是个人体验问题更是公共卫生体系面临的巨大挑战。如何让有限的医疗资源在最需要的时间和地点服务最多、最急迫的患者这听起来像是一个无解的难题但恰恰是数学建模能够大显身手的领域。我接触医疗资源分配建模源于几年前参与的一个区域急救中心调度优化项目。当时急救车响应时间过长、部分区域覆盖不足的问题非常突出。我们最初的想法很朴素增加车辆和人员。但预算有限盲目增加投入不仅成本高昂还可能造成新的浪费。于是我们转向了数据和分析尝试用数学模型来回答几个关键问题现有的急救站布局是否合理在现有车辆数下如何动态调度才能最快响应突发呼叫高峰时段的资源瓶颈究竟在哪里这个过程让我深刻体会到数学建模不是象牙塔里的理论游戏而是解决现实世界复杂决策问题的“手术刀”它能将模糊的“感觉”和“经验”转化为清晰的“数据”和“方案”。今天我们就来深入聊聊“健康医疗资源分配”这个主题看看数学建模是如何切入的并通过一个我亲身参与的、简化但完整的实战案例手把手拆解从问题定义到模型求解的全过程。无论你是医疗行业的管理者、公共卫生领域的研究者还是对数据分析和运筹学感兴趣的技术人员相信都能从中获得一些启发和可以直接借鉴的思路。2. 拆解医疗资源分配核心问题与建模视角在动手建模型之前我们必须先把现实世界中纷繁复杂的问题“翻译”成数学语言。医疗资源分配涉及面极广但我们可以从几个最核心的维度进行拆解。2.1 资源分配的核心矛盾与目标医疗资源的分配本质上是供给与需求在多重约束下的匹配问题。其核心矛盾体现在资源有限性医生、护士、床位、大型设备如CT、MRI、手术室、药品等都是稀缺资源其数量、能力和工作时间是硬约束。需求不确定性患者的到达门诊、急诊、疾病的严重程度、治疗所需时长都具有很强的随机性无法精确预测。时空不均衡性需求在时间上如流感季、昼夜、周末和空间上城市与乡村、不同社区分布极不均衡。多目标冲突性我们希望同时达到多个目标而这些目标往往相互冲突。例如效率目标最大化资源利用率、最小化患者平均等待时间、最短化平均住院日。公平目标确保不同区域、不同人群的患者都能获得可及的服务避免资源过度集中。质量目标保证诊疗过程的规范性为急危重症患者预留通道。成本目标控制人力、物力和运营成本。数学建模的任务就是在这团“乱麻”中找到量化这些目标和约束的方法并寻求一个可接受的平衡点或最优解。2.2 主流数学模型方法选型针对不同的具体问题我们会选用不同的数学模型。这里介绍几种在医疗资源分配中最常用、也最有效的模型框架。2.2.1 排队论模型分析服务流程的“拥堵”这是分析门诊、急诊、检查科室等待情况的经典工具。它把医疗系统看作一个“服务台”患者是“顾客”。通过设定患者到达的规律如泊松分布和服务时间的分布模型可以计算出关键指标平均排队长度平均等待时间系统繁忙率资源利用率患者需要等待的概率注意经典的排队论模型如M/M/1, M/M/c假设条件较强如到达间隔和服务时间服从指数分布。在实际应用中真实数据往往不符合理想分布此时可能需要使用仿真或更复杂的排队网络模型。2.2.2 线性/整数规划模型进行“最优”的静态分配当我们需要在特定时刻或周期内做出一个明确的分配决策时规划模型是首选。例如医护人员排班在满足法律法规工作时长、员工偏好、技能要求和预测需求的前提下生成成本最低或公平性最高的排班表。手术室调度将不同时长、不同紧急程度的手术分配给有限的手术室和医护团队最大化手术室利用率或最小化手术延期。药品库存管理确定各种药品的最佳安全库存水平在避免缺货和减少资金占用之间取得平衡。这类模型的核心是定义决策变量如“是否安排医生A在周一上夜班”、目标函数如“最小化总人力成本”和约束条件如“每位医生每周工作时间不超过44小时”然后利用优化求解器如CPLEX, Gurobi或开源的OR-Tools, PuLP找出最优解。2.2.3 仿真模型模拟复杂系统的动态行为当系统过于复杂包含大量随机因素和反馈回路难以用解析模型描述时离散事件仿真就派上用场了。我们可以用仿真软件如AnyLogic, Simio或编程语言Python的SimPy库构建一个虚拟的医院或科室。可以模拟患者从入院、挂号、分诊、候诊、检查、治疗到出院的完整流程。可以测试不同的资源分配策略如增加一个诊室、改变分诊规则、调整检查预约策略会产生什么效果。优势非常直观能捕捉动态交互和随机性是进行“如果-那么”情景分析的强大工具。2.2.4 位置分配模型解决“在哪里建设”的问题这用于解决医疗设施的宏观布局问题例如新建一家医院或社区卫生服务中心选址在哪里能最大程度覆盖居民在灾害医学中如何设置临时医疗点常见的模型有P-中值问题最小化所有需求点到其最近设施点的加权距离总和。最大覆盖问题在设施数量固定的情况下最大化在指定服务半径内能被覆盖的需求量。备用覆盖问题考虑设施可能繁忙或失效确保关键区域能被多个设施覆盖。3. 实战案例基于整数规划的社区疫苗接种点排班优化下面我将分享一个我们为某市疾控中心做的简化版项目社区临时疫苗接种点医护人员排班优化。这是一个非常典型的、可复现的整数规划应用案例。项目背景在大型疫苗接种活动中某市设置了多个社区临时接种点。每个点需要配置若干组医护人员每组通常包含1名问诊医生和1-2名接种护士。不同社区的人口基数、预约人数、接种速度不同且医护人员资源全市统一调配。目标是在满足各接种点每日预估接种需求的前提下最小化全市调配医护人员的总成本这里成本可理解为“人·天”数兼顾公平性并满足医护人员连续工作天数不超过上限等约束。3.1 问题定义与数据准备首先我们需要将现实问题转化为数学问题。决策变量 我们定义了一个二元决策变量x[i, j, t]。i: 医护人员编号 (i 1, 2, ..., M)j: 接种点编号 (j 1, 2, ..., N)t: 日期编号 (t 1, 2, ..., T例如未来7天)x[i, j, t] 1表示安排医护人员 i 在日期 t 到接种点 j 工作0则表示不安排。输入数据参数需求矩阵D[j, t]接种点 j 在日期 t 的预估接种剂次数基于预约数据预测。服务能力S一个标准医护小组1医1护单位时间如半天能完成的平均接种剂次数。假设每个接种点每天分为上午、下午两个班次。成本系数C[i, j]将医护人员 i 派遣到接种点 j 的“成本”。这个成本可以是实际差旅补贴也可以是为了体现公平性而设定的偏好权重例如家离得远的成本更高以优先安排就近人员。医护人员约束每人每天最多被安排到一个接种点的一个班次。每人连续工作天数不能超过L_max天例如连续工作5天后必须休息1天。某些医护人员可能有资质或地域限制如只能在某几个点工作。目标函数 最小化总派遣成本Minimize Sum( C[i, j] * x[i, j, t] )对所有的 i, j, t 求和。约束条件需求满足约束对于每个接种点 j 和每个日期 t分配到该点该日期的所有医护人员的工作能力之和必须大于等于该点的需求D[j, t]。Sum( S * x[i, j, t] ) D[j, t]对所有的 i 求和。每人每日单任务约束对于每个医护人员 i 和每个日期 t他最多只能被安排到一个地点。Sum( x[i, j, t] ) 1对所有的 j 求和。连续工作上限约束对于每个医护人员 i在任意连续的L_max1天窗口内他工作的天数不能超过L_max。这是一个滑动窗口约束需要写一组不等式来表达。变量类型约束x[i, j, t]为 0 或 1。3.2 模型构建与Python实现示例我们使用Python的PuLP库一个开源的线性规划建模库来构建和求解这个整数规划模型。import pulp import pandas as pd import numpy as np # 1. 初始化问题和数据示例数据 M 10 # 10名医护人员 N 5 # 5个接种点 T 7 # 规划7天 L_max 5 # 连续工作最多5天 S 100 # 一个小组半天能接种100剂次 # 生成模拟数据 np.random.seed(42) D np.random.randint(200, 500, size(N, T)) # 各点每日需求 # 成本矩阵这里简单用距离模拟假设成本与点编号和人员编号的差值有关 C np.abs(np.arange(M).reshape(-1,1) - np.arange(N)) * 10 50 # 2. 定义问题 prob pulp.LpProblem(Vaccination_Staff_Scheduling, pulp.LpMinimize) # 3. 定义决策变量 x pulp.LpVariable.dicts(x, ((i, j, t) for i in range(M) for j in range(N) for t in range(T)), lowBound0, upBound1, catBinary) # 4. 定义目标函数 prob pulp.lpSum([C[i, j] * x[i, j, t] for i in range(M) for j in range(N) for t in range(T)]) # 5. 添加约束条件 # 5.1 需求满足约束 for j in range(N): for t in range(T): prob pulp.lpSum([S * x[i, j, t] for i in range(M)]) D[j, t], fDemand_满足_{j}_{t} # 5.2 每人每日单任务约束 for i in range(M): for t in range(T): prob pulp.lpSum([x[i, j, t] for j in range(N)]) 1, fOne_Assignment_{i}_{t} # 5.3 连续工作上限约束 (简化版检查每个可能的连续6天窗口) for i in range(M): for start_t in range(T - L_max): # 滑动窗口起始日 prob pulp.lpSum([x[i, j, t] for j in range(N) for t in range(start_t, start_t L_max 1)]) L_max, fConsecutive_Work_{i}_{start_t} # 6. 求解问题 solver pulp.PULP_CBC_CMD(msgFalse) # 使用CBC求解器不输出求解日志 prob.solve(solver) # 7. 输出结果 print(f求解状态: {pulp.LpStatus[prob.status]}) print(f最小化总成本: {pulp.value(prob.objective)}) # 生成排班表 schedule [] for i in range(M): for j in range(N): for t in range(T): if pulp.value(x[i, j, t]) 0.5: # 判断是否为1 schedule.append({Staff: i, Site: j, Day: t}) schedule_df pd.DataFrame(schedule) if not schedule_df.empty: print(\n排班计划前10行) print(schedule_df.head(10)) else: print(未找到可行排班计划。)3.3 结果分析与模型调优运行上述模型后我们得到了一个初步的排班方案。但建模工作远未结束真正的价值在于分析和迭代。第一步可行性检查与缺口分析首先检查模型是否找到了可行解。如果无解最常见的原因是资源绝对不足即所有医护人员满负荷工作也无法满足总需求。此时我们需要分析D[j, t]的合-理性或者向决策者反馈要完成目标至少需要增加多少人力通过放松约束或进行敏感性分析得出。第二步结果解读与可视化将排班表schedule_df进行透视可以生成每个接种点每日的人员配置表以及每位医护人员未来一周的工作日历。用热力图可视化可以一眼看出资源分配的均衡性。例如是否有个别接种点长期配置不足是否有个别医护人员工作强度明显高于他人第三步模型调优与策略探索最初的模型可能只考虑了成本最小化。但决策者可能还有其他关切公平性如何避免某些医护人员总被派往偏远点可以在目标函数中增加“个人累计派遣成本方差最小化”的项或将连续派遣到远点的次数作为约束。稳定性医护人员希望排班相对稳定不喜欢每天换点。可以增加约束限制一个人在一周内换点的次数或在目标函数中惩罚“换点”行为。技能匹配并非所有医护人员都能胜任问诊工作。这需要在数据层面区分人员类型并在约束中体现。需求不确定性我们的模型基于预测需求D[j, t]。如果预测不准怎么办我们可以引入鲁棒优化或随机规划的思想。例如假设需求在一定区间内波动[D_min, D_max]要求排班方案在最坏情况下需求达到D_max也能基本满足可能允许少量加班这就是一种鲁棒模型。实操心得与业务方的沟通至关重要。第一次给出的“最优解”很可能不符合他们的隐性规则或经验比如“王医生周四下午一定要参加科室会议”。这些“软约束”需要不断迭代加入模型中。模型的作用不是替代决策而是提供数据驱动的、多种情景下的方案对比辅助决策者做出更科学的选择。4. 从模型到系统构建资源分配决策支持平台单次的模型求解解决了“这次怎么排”的问题但医疗资源分配是一个持续的过程。要让数学模型的价值最大化最好的方式是将其产品化嵌入到一个决策支持系统中。4.1 系统核心模块设计一个完整的医疗资源分配DSS通常包含以下模块数据集成层从医院信息系统、预约平台、人口数据库中自动抽取清洗数据形成统一的“数据湖”。这是模型准确的基础。预测引擎基于历史数据使用时间序列模型如ARIMA、Prophet或机器学习模型预测未来不同时段、不同区域的门诊量、急诊量、住院需求等。预测结果是规划模型的输入。模型库与求解器封装好的各种数学模型排队、规划、仿真等和对应的求解算法。提供配置界面让业务人员可以选择模型类型、调整参数。方案模拟与可视化将模型输出的排班表、资源布局图等以甘特图、地图、仪表盘等直观形式展现。允许用户手动调整方案并实时看到调整后对关键指标等待时间、成本、利用率的影响。方案评估与报告自动对比不同方案的优劣生成包含关键绩效指标的分析报告支持决策复盘。4.2 实施中的挑战与应对数据质量与口径医疗数据多源异构标准化程度低。必须投入精力进行数据治理明确指标定义如“等待时间”是从挂号开始算还是从到达科室开始算。模型与业务的“最后一公里”再好的模型如果结果无法被一线人员理解和执行也是失败的。系统需要提供清晰、可操作的任务清单如“明日8点张三医生至A接种点”并考虑通过移动端推送。人的因素资源分配优化往往会改变原有的工作模式和利益格局。例如优化排班可能要求取消某些“惯例”。变革管理、人员培训和激励机制设计与技术实施同等重要。系统的持续迭代医疗环境、政策、疾病谱都在变化。模型和系统需要定期用新的数据重新训练和校准业务规则也需要不断更新。这是一个“建模-部署-监控-优化”的闭环过程。5. 拓展与思考数学建模在医疗领域的更多可能性疫苗接种排班只是一个缩影。数学建模在医疗资源分配乃至更广阔的医疗健康领域有着无限的应用场景。5.1 院内精细化管理手术室调度结合手术时长的不确定性、医护人员和设备的可用性、术后床位资源建立动态调度模型最大化手术室利用效率减少手术接台等待时间。床位管理预测各科室出院人数建立住院患者流转模型实现床位的跨科室弹性调配解决“压床”和“等床”并存的问题。药品与耗材库存优化运用库存论模型设定不同药品高值、低值、急救的安全库存和补货策略在保障供应和减少资金占用间找到平衡。5.2 区域公共卫生规划医疗设施规划结合人口分布、老龄化趋势、交通网络运用位置分配模型科学规划新建医院、社区卫生服务中心的位置和规模。应急医疗资源储备与调度针对突发公共卫生事件或灾害建立多阶段随机规划模型确定不同等级防护物资、药品、移动医疗单元的储备地点和数量以及事件发生后的动态调度方案。慢性病管理资源投放通过数据分析识别高血压、糖尿病等慢性病高危人群聚集区优化家庭医生团队和健康管理资源的投放重点。5.3 前沿交叉方向结合机器学习用深度学习模型更精准地预测个体患者的住院时长、再入院风险从而为资源预约提供个性化输入。多智能体仿真在仿真模型中不仅模拟患者流还模拟医生、护士等智能体的决策行为如根据疲劳度调整工作效率使模拟更贴近现实。考虑患者行为将患者的择医偏好、对等待时间的敏感度等行为因素纳入模型使优化方案更具人性化和可执行性。回顾整个从问题到模型再到系统应用的历程我最大的体会是数学建模的魅力不在于追求数学形式的完美而在于它提供了一种结构化思考复杂系统、量化评估决策后果的思维方式。在医疗资源分配这个问题上它帮助我们超越了“凭感觉”、“拍脑袋”的传统管理方式让有限的、宝贵的医疗资源能够更科学、更公平、更高效地服务于每一个生命。这个过程充满挑战需要数学家、医生、管理者、工程师的紧密协作但每当看到模型生成的方案真正缓解了排队压力优化了人员工作状态那种用理性工具改善现实世界带来的成就感是无与伦比的。

相关新闻

存储_05:掉电保护与数据完整性——事务写/双备份/holdup 电容

存储_05:掉电保护与数据完整性——事务写/双备份/holdup 电容

2026/8/27 20:58:23

适用人群:准备江波龙车规/消费存储岗,被问"写到一半断电了怎么办"“数据怎么保证不丢不错"只会答"加个电容"的同学。这是 17_存储 专栏第五篇,车规(AEC-Q100)必考点。 读完你能得到&#xff…

多无人机协同路径规划实战:从A*搜索到B样条优化的完整实现

多无人机协同路径规划实战:从A*搜索到B样条优化的完整实现

2026/8/27 20:58:23

1. 项目概述:从赛题到实战的完整复盘 去年带队参加了深圳杯数学建模竞赛,选的正是C题“无人机协同避障航迹规划”。这个题目一出来,当时我们团队就眼前一亮,因为它太“实”了——不是那种纯理论推导的数学题,而是直接把…

OpenStack Neutron 网络服务配置与云主机启动实战

OpenStack Neutron 网络服务配置与云主机启动实战

2026/8/27 20:48:23

配置 Networking服务 目录 配置 Networking服务 1. 配置控制节点 2. 控制节点配置公有网络 3. 配置元数据代理 4. 配置计算节点 5. 验证操作 在共有网络启动一台云主机 1. 创建共有网络 在网络上创建一个子网 2. 创建只需要64 MB的"m1.nano"规格的主机 3…

饲料厂产线调度建模:从数学最优到工程可用

饲料厂产线调度建模:从数学最优到工程可用

2026/8/27 21:48:26

1. 这道题不是“算数题”,而是一场饲料厂真实产线调度的沙盘推演2020年五一杯数学建模C题——“饲料混合加工问题”,表面看是道带约束的线性规划题,但如果你真把它当成课本例题来解,大概率会在第三天凌晨三点对着Excel表格发呆&am…

用文本分类与风险评分模型构建高风险话术识别服务

用文本分类与风险评分模型构建高风险话术识别服务

2026/8/27 21:48:26

先说结论:这个事件本身就是一场很好的 AI 内容安全实验。那位教别人 PUA 的“大师”,本想用 AI 批量生成话术,结果模型的对齐机制和语义识别能力反手把他的套路拆了个底朝天。这件事上热搜,不是因为它有多猎奇,而是它揭…

基于大模型与FastAPI的PUA操控话术识别系统实现

基于大模型与FastAPI的PUA操控话术识别系统实现

2026/8/27 21:48:26

有些事放到技术语境里看,会变得特别有意思。一个教别人用话术操控关系的“大师”,他总结的那套“打压-拉扯-制造焦虑-推拉配合”的操作流程,本质上是一套可以被穷举的文本模式。以前识别这种模式要靠人肉判断,一条一条看聊天记录、…

Pytest核心原理与工程实践:自动化测试框架深度解析

Pytest核心原理与工程实践:自动化测试框架深度解析

2026/8/27 21:48:26

1. 为什么说 pytest 是 Python 测试生态里真正“活”起来的框架? 你刚学 Python,写完一个函数,想确认它在各种输入下都不出错——最朴素的做法是加几行 print() ,手动跑几次;等项目变大,开始用 if __nam…

Hermes Agent保姆级教程:原理、部署、定时任务与钉钉通知

Hermes Agent保姆级教程:原理、部署、定时任务与钉钉通知

2026/8/27 21:48:26

如果你正在研究开源 Agent 框架,最近一定绕不开一个名字:Hermes Agent。它是 NousResearch 开源社区推出的智能体项目,在 GitHub 上热度上升很快。但很多人第一次接触时,会被一套新名词劝退:Agent Loop、Tool Calling、…

数学建模竞赛中数据特征分析的核心工作流与Python实战指南

数学建模竞赛中数据特征分析的核心工作流与Python实战指南

2026/8/27 21:38:25

1. 项目概述:数据特征分析在数学建模中的核心地位如果你参加过数学建模竞赛,或者正在准备,那你肯定对“数据特征分析”这个词不陌生。它听起来像是一个标准化的流程步骤,但在我十多年的建模经历里,我见过太多队伍在这里…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/27 11:10:02

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/27 7:25:23

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/26 17:50:58

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

2026/8/27 0:07:12

1. 项目概述:从零构建一个企业级的AI服务网关 最近在帮一个做内容审核的团队做技术架构升级,他们原来的业务里,每天有几十万张图片和短视频需要过审,最初是接了几个开源的AI模型自己部署,但效果和性能一直不太稳定。后…

LeetCode Hot100(51-60)算法精解与面试技巧

LeetCode Hot100(51-60)算法精解与面试技巧

2026/8/27 0:07:12

1. 题目背景与核心价值"hot100(51-60)"这个标题看起来像是某个编程题库或算法练习集中的一组题目编号。在技术社区中,类似命名通常指向LeetCode、牛客网等平台的热门题目集合。作为刷过300题的算法老手,我理解这类题目的核心价值在于&#xff…

CRC校验实战:从模2除法到HJ212协议排错

CRC校验实战:从模2除法到HJ212协议排错

2026/8/27 0:07:12

1. 为什么一个“校验码”能扛住工业现场90%的数据 corruption? 你有没有遇到过这样的场景:嵌入式设备通过RS-485上传温湿度数据,上位机偶尔收到一帧乱码——温度显示成-273℃,湿度跳到999%,但串口波形看起来完全正常&a…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/26 18:07:30

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/26 17:57:52

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…