Skip to content

community-apps 中文导航

原文: Nextmv Community Apps
分类: 优化决策应用示例
大小: 16 MB
语言: Go/Python/Java


📚 项目简介

community-apps 是 Nextmv 平台的预构建决策应用集合,每个应用都是独立的、可运行的示例,展示如何使用不同语言 (Go/Python/Java) 和求解器 (OR-Tools、Gurobi、HiGHS 等) 构建决策应用。这些应用可作为 Nextmv Marketplace 订阅应用的基础模板。

GitHub: https://github.com/nextmv-io/community-apps
Nextmv 平台: https://nextmv.io
文档: https://nextmv.io/docs


🔧 核心特点

特点 说明
多语言支持 Go、Python、Java 三大主流语言
多求解器 OR-Tools、Gurobi、HiGHS、CPLEX、Hexaly 等
丰富示例 背包、路径、调度、设施选址等 50+ 示例
独立运行 每个应用都可独立运行,无需 Nextmv 账号
云端就绪 可直接部署到 Nextmv Cloud
Devcontainers 复杂示例提供开发容器配置

📁 目录结构

community-apps/
├── go-hello-world/                 # Go 入门示例
├── go-highs-knapsack/              # Go + HiGHS 背包问题
├── go-highs-shiftscheduling/       # Go + HiGHS 排班问题
├── go-highs-orderfulfillment/      # Go + HiGHS 订单履行 (Devcontainer)
├── go-nextroute/                   # Go + Nextroute 路径问题
├── java-hello-world/               # Java 入门示例
├── java-ortools-knapsack/          # Java + OR-Tools 背包 (Devcontainer)
├── java-ortools-routing/           # Java + OR-Tools 路径 (Devcontainer)
├── java-gurobi-knapsack/           # Java + Gurobi 背包
├── python-hello-world/             # Python 入门示例
├── python-ortools-knapsack/        # Python + OR-Tools 背包
├── python-ortools-routing/         # Python + OR-Tools 路径
├── python-ortools-shiftassignment/ # Python + OR-Tools 任务分配
├── python-ortools-shiftplanning/   # Python + OR-Tools 排班
├── python-ortools-costflow/        # Python + OR-Tools 成本流
├── python-gurobi-knapsack/         # Python + Gurobi 背包
├── python-ampl-knapsack/           # Python + AMPL 背包
├── python-pyomo-knapsack/          # Python + Pyomo 背包
├── python-highs-knapsack/          # Python + HiGHS 背包
├── python-cplex-knapsack/          # Python + CPLEX 背包
├── python-xpress-knapsack/         # Python + Xpress 背包
├── python-hexaly-knapsack/         # Python + Hexaly 背包 (Devcontainer)
├── python-pyvroom-routing/         # Python + PyVROOM 路径 (Devcontainer)
├── python-cuopt-routing/           # Python + NVIDIA cuOPT 路径 (GPU)
└── README.md                       # 主文档

🚀 快速开始

前置要求

# 1. 注册 Nextmv 账号
# https://cloud.nextmv.io

# 2. 安装 Nextmv CLI
curl -fsSL https://get.nextmv.io | bash

# 3. 登录
nextmv login

# 4. 验证安装
nextmv version

Hello World (Python)

# 进入示例目录
cd python-hello-world

# 运行应用
python main.py --input input.json

# 示例输入 (input.json)
{
  "options": ["A", "B", "C"],
  "scores": [85, 90, 78]
}

# 示例输出
{
  "decision": {
    "selected": "B",
    "score": 90
  }
}

背包问题 (Python + OR-Tools)

cd python-ortools-knapsack

# 运行求解器
python main.py --input instance.json

# 输入格式
{
  "capacity": 100,
  "items": [
    {"id": 1, "weight": 10, "value": 60},
    {"id": 2, "weight": 20, "value": 100},
    {"id": 3, "weight": 30, "value": 120}
  ]
}

# 输出
{
  "solution": {
    "selected_items": [2, 3],
    "total_value": 220,
    "total_weight": 50
  }
}

路径优化 (Python + OR-Tools)

cd python-ortools-routing

# 运行路径优化
python main.py --input locations.json

# 输入:客户位置坐标
# 输出:最优路径规划

排班问题 (Python + Pyomo)

cd python-pyomo-shiftplanning

# 运行排班优化
python main.py --input shifts.json

# 输入:班次需求、员工约束
# 输出:最优排班表

📖 示例分类

入门示例 (3 个)

示例 语言 说明
go-hello-world Go Nextmv 平台入门
java-hello-world Java Nextmv 平台入门
python-hello-world Python Nextmv 平台入门

背包问题 (8 个)

示例 语言 求解器
go-highs-knapsack Go HiGHS
java-ortools-knapsack Java OR-Tools
java-gurobi-knapsack Java Gurobi
python-ortools-knapsack Python OR-Tools
python-gurobi-knapsack Python Gurobi
python-ampl-knapsack Python AMPL
python-pyomo-knapsack Python Pyomo
python-highs-knapsack Python HiGHS

路径优化 (7 个)

示例 语言 求解器 特点
go-nextroute Go Nextroute Nextmv 自研
java-ortools-routing Java OR-Tools Devcontainer
python-ortools-routing Python OR-Tools 基础路径
python-cuopt-routing Python NVIDIA cuOPT GPU 加速
python-pyvroom-routing Python PyVROOM VRP 问题
python-vroom-premium-api-routing Python VROOM API 商业 API

调度问题 (6 个)

示例 语言 求解器 问题类型
go-highs-shiftscheduling Go HiGHS 排班
python-ortools-shiftassignment Python OR-Tools 任务分配
python-ortools-shiftplanning Python OR-Tools 排班规划
python-pyomo-shiftassignment Python Pyomo 任务分配
python-pyomo-shiftplanning Python Pyomo 排班规划

高级示例 (7 个)

示例 语言 问题 特点
go-highs-orderfulfillment Go 订单履行 Devcontainer
python-ampl-facilitylocation Python 设施选址 Devcontainer
python-ampl-priceoptimization Python 价格优化 Devcontainer
python-ortools-demandforecasting Python 需求预测 Devcontainer
python-hexaly-knapsack Python 背包问题 Devcontainer
python-xpress-facility-location Python 设施选址 -
python-xpress-park-location Python 停车场选址 -

💡 典型应用场景

1. 物流路径优化

问题:车队如何以最短路径服务所有客户?
输入:客户位置坐标、车队规模、时间窗口
求解器:OR-Tools (VRPTW)
输出:每辆车的路径规划
应用:快递配送、外卖配送、垃圾收集

2. 员工排班优化

问题:如何安排员工班次以满足需求并最小化成本?
输入:班次需求、员工可用性、劳动法约束
求解器:Pyomo / OR-Tools (MIP)
输出:每周排班表
应用:医院护士、零售店员、呼叫中心

3. 资源分配

问题:有限资源如何分配给多个项目?
输入:项目需求、资源约束、优先级
求解器:Gurobi / HiGHS (背包问题)
输出:最优分配方案
应用:预算分配、广告投放、投资组合

4. 设施选址

问题:在哪里建设施以服务客户并最小化成本?
输入:候选位置、客户需求、建设成本
求解器:AMPL / Xpress (固定费用选址)
输出:选址决策 + 服务分配
应用:仓库选址、充电站、零售店

🔗 相关资源


🎓 学习路径

1. Hello World → 了解 Nextmv 平台
2. 背包问题 → 理解优化建模基础
3. 路径优化 → 学习 VRP 问题
4. 排班问题 → 掌握调度优化
5. 高级示例 → 设施选址/价格优化
6. 部署到 Nextmv Cloud → 生产化

本地路径: /workspace/code-examples/community-apps/
创建时间: 2026-06-02
难度: ⭐⭐ (入门友好)


**community-apps 中文导航 | Nextmv 优化应用示例** [返回代码索引](../../README_UPDATED.md) | [决策科学资源大全](../../docs/resources/decision-science-comprehensive-resources.md)