在版上潜水已久 偶尔在置底问一些问题
这次小小萌新我来发发文
会打这篇是因为一直对于各种后勤推荐方案不太满意
加上最近没什么活动,吃饱太闲来试试看新的方法
目前现有的方案主要是以资源、契约加权的方式、选择最高的方案
但一般的使用上,需要的更像是想要在最短时间内,获得期望目标的资源
方法上,主要使用 Python 程式语言,用现成的 Linear programing 套件实作
(这边懒得看可以跳过)
参数部分:
team 后勤梯队数(一般为4)
big_success 大成功机率(一般为60%)
now_man 现有人力
now_amm 现有弹药
now_rat 现有口粮
now_par 现有零件
target_man 目标人力
target_amm 目标弹药
target_rat 目标口粮
target_par 目标零件
need_white 需要白纸
need_blue 需要蓝纸
need_orange 需要橘纸
need_green 需要绿纸
need_coin 需要采购币
限制(Constraint)部分:分为资源和时间
资源上,对于4项资源、4种契约、采购币,需要符合
所有任务加总 SUM(资源获得量*任务执行次数*大成功系数) >= 目标数量
资源大成功系数 = 1+大成功机率*0.5
契约大成功系数 = 大成功机率*(该契约获得率/该任务获得契约率)
+ (1-大成功机率)*该契约获得率
时间上,单一任务执行时间不可超过一定比例(1/4,4梯队的话)
对所有任务
任务执行次数*该任务执行时间 <= 1/team*所有任务时间加总
目标函数(Objective)部分,最小化总花费时间,求出各个任务执行次数
Minimize 所有任务加总 SUM(任务执行次数*该任务执行时间)
#####################################################################
使用方法:
1.使用 Repl.it 线上 Python 编译器,网址:http://0rz.tw/XtJCu (程式码附在里面)
2.设定梯队数、大成功机率、现有资源、目标资源、目标契约数
3.按 run >
4.等他跑完,结果会显示在右边
#####################################################################
使用上,推荐可以先设定目标资源,不要设定契约数,
先算出最少需要时间后,在设定需要的契约数量,重新计算,
依照额外付出的时间,自行考虑是否值得,调整至满意为止。
显示的结果:
1.列出执行的任务次数、时间、占时间百分比
2.总花费时间(分钟、小时、天)
3.预计获得的各项资源(期望值)
一些issue与资料来源:
1.目前没考虑后勤之间间隔(这是小事,很好改)
2.没考虑晚上睡觉的更换方案(还没想到怎么改)
3.0-10章契约机率来自NGA上彩虹大佬统计(拆包?),第11章目前为我自己体感乱打的,有
更精确的数据可以再做更改
长草的同时,也要当个肥滋滋好鲤鱼,下次圣造发大财。
欢迎提供各种意见或需求 尽我所能的作更改