Skip to content

6.3 资源与成本

阅读提示: 计划说你 5 天能砌完一面墙,但派几个人?用多少砖?花多少钱?没有资源与成本的计划,只是一张愿望清单。


6.3.1 资源是什么

在 Primavera Risk Analysis 中,人员、设备、材料和固定费用都被视为资源(Resource)。Mr. House 整理出了项目需要的全部资源。

资源类型说明本案例对应
人力(Human)按日消耗,有数量限制LABORER
材料(Material)按量消耗,供应通常无限FENCE, PAINT, SAND, SLABS
固定费用一次性成本FISH

6.3.2 创建资源

操作路径:Plan | Resources,或点击工具栏资源按钮

在弹出的 Resource Setup 对话框中逐行输入:

IDDescription类型Cost(单价)Supply(供应量)
LABORER工人人力$302
FENCE围栏材料材料$100
PAINT油漆材料$30
FISH鱼苗固定费用$20
SAND沙子材料$20
SLABS石板材料$100

输入方法: 在 ID 列第一个空白单元格输入资源 ID → 输入 Description → 继续下一行。完成后关闭对话框(File | Close`)。


6.3.3 为资源分配独立日历 —— "Weekends off"

项目日历改成了 7 天工作周,但 Mr. House 的工人周末不干活。对此,为 LABORER 创建一个「周末休息」日历。

步骤一:创建新日历 "Weekends off"

  1. 点击 Calendar 按钮
  2. 点击 New Calendar 按钮
  3. 输入名称 Weekends off
  4. 选择 Standard作为Copy of calendar(复制基准)
  5. 点击 OK
  6. 点击 Workweek...
  7. 取消勾选 Saturday 和 Sunday
  8. 点击 OKOK

步骤二:将日历分配给 LABORER

  1. 重新打开 Plan | Resources
  2. 找到 LABORER 行的 Calendar
  3. 从下拉菜单中选择 Weekends off
  4. 关闭对话框

现在,任何分配了 LABORER 的任务都不能在周末执行——即使项目日历是 7 天工作周。甘特图上会显示黄色竖条底纹表示资源导致的「停机时间(downtime)」。

资源日历优先级: 资源日历 > 任务日历 > 项目日历。资源日历是最细粒度的约束。


6.3.4 加载类型:Normal vs Spread

Loading(加载类型) 决定资源成本在时间轴上的分布方式。本教程用到两种:

类型行为适用场景
Normal每天使用固定单位数。工期越长 → 总成本越高人力、设备
Spread总单位数固定,均匀分摊到工期各天。工期变长 → 每天消耗减少,总成本不变材料、固定费用

成本计算对比示例:

Label LABORER 分配给 Put up posts`(工期 3 天),1 单位 Normal 加载:

  • 每天消耗 1 个 LABORER 单位
  • 总消耗 = 1 × 3 天 = 3 单位
  • 总成本 = 3 × $30 = $90

Label PAINT 分配给 Paint fence,1 单位 Spread 加载:

  • 无论工期多少天,总量固定为 1 单位
  • 总消耗 = 1 单位
  • 总成本 = 1 × $30 = $30(即使工期是 5 天)

修改加载类型:

在 Resource Setup 中,点击资源对应行的 Default Loading列单元格,键入**s** 切换为 Spread,按回车确认。

需要改为 Spread 的资源:FENCE、PAINT、FISH、SAND、SLABS。LABORER 保持 Normal。

经验法则: 能「加班消化」的资源用 Normal(人加班要加钱);「固定数量」的资源用 Spread(100 块砖不管干几天都是 100 块)。


6.3.5 资源成本

在 Resource Setup 的 Cost 列输入单价:

IDCost
LABORER$30
FENCE$100
PAINT$30
FISH$20
SAND$20
SLABS$100

任务成本公式:

任务成本 = 单位/天 × 单价 × 任务工期(Normal 加载)
任务成本 = 总单位数 × 单价(Spread 加载)


6.3.6 供应量(Supply)

Supply 定义资源同时可用的最大数量。材料供应无限(Mr. House 可随时去商店买),但工人只有 2 个。

在 Resource Setup 中,将 LABORER 的 Supply 单元格设为 2`。

这意味着任何时刻最多只有 2 个工人能同时干活。如果三个任务同时各需 1 个工人 → 资源过载(Over-demand)——第 4 章将解决这个问题。

图:资源列表创建完毕——Resource Setup 对话框


6.3.7 分配资源到任务

资源定义好了,接下来把它们分配到具体任务上。

操作步骤:

  1. 点击任务,在底部 Task Details面板中切换到Resources 选项卡
  2. ID 列第一个空白单元格的下拉菜单中选择资源
  3. Units/Period 列输入分配量
  4. 重复直到该任务的所有资源分配完成

完整资源分配表:

任务资源分配量
Buy fence materialsFENCE, PAINT1, 1
Dig post holesLABORER1
Put up postsLABORER1
Fix horizontalsLABORER1
Paint fenceLABORER1
Buy path materialsSLABS, SAND1, 1
Prepare groundLABORER1
Lay pathLABORER1
Dig pondLABORER1
Line pondLABORER1
Fill pond
Buy fishFISH1

分配资源后记得保存(File | Save`)。

图:资源分配后的甘特图——注意黄色竖条底纹表示资源日历约束

LABORER 分配到的任务上,甘特图出现黄色竖条底纹——这是 LABORER 的 "Weekends off" 日历在发挥作用,表示周末不能施工。


实战案例:某装修项目的资源建模

案例:某办公楼装修项目

项目背景

某办公楼装修,预算 ¥380 万,工期 90 天。主要工种:瓦工 3 人、木工 2 人、油漆工 2 人,以及多种材料。

问题分析

装修中最常见的资源冲突:瓦工铺地砖时,木工也在等瓦工抹平墙面才能做柜子——但瓦工只有 3 人,同时在两个作业面干活。

建模要点

资源 ID类型Supply成本Loading日历
TILERLabor3¥400/天Normal5天周
CARPENTERLabor2¥450/天Normal5天周
PAINTERLabor2¥350/天Normal5天周
TILEMaterial¥80/㎡Spread
PAINT_MATMaterial¥30/㎡Spread

关键发现

将瓷砖和涂料设为 Spread 模式后,即使瓦工因缺料延期 3 天,材料总成本也不会因工期延长而膨胀——工期拉长 → 每天消耗量降低 → 总成本不变。这对材料成本控制至关重要。


本章小结

要点一句话
创建资源Plan
资源日历为 LABORER 创建 "Weekends off" 日历,限制周末不可用
Normal vs SpreadNormal = 按日消耗(人力);Spread = 总量固定分摊(材料)
成本计算Normal: 工期 × 单价 × 日单位;Spread: 总量 × 单价
Supply 约束LABORER = 2 意味着最多 2 人同时干活
分配资源Task Details → Resources 选项卡 → 选资源 + 输入分配量

英文原版内容版权归 Oracle Corporation 所有。中文翻译、案例、习题由 计划工程师 独立创作。

广告位 · 合作联系