作者arrenwu (最是清楚哇她咩)
看板C_Chat
标题Re: [蔚蓝] 线性规划找活动最佳解
时间Tue Jun 24 17:11:07 2025
※ 引述《nahsnib (悟)》之铭言:
: 前言:如果您有数学过敏症,看到推论、计算等相关文字会反胃、血压升高/降低、
: 谵妄、心悸、暴怒、忧郁、嗜睡、等任何不是症状,请立即左转并且找高中数学老师抗议
: 另外早就有人设计过懒人包以及计算机,这边只是探讨过程与理论。
: 研究动机:蔚蓝档案的活动关卡,大多有个固定的形式,在此将其简化为:
: a货币、b货币、c货币,a货币与b货币大致相等,可以在对应的商店购买物资;
: c货币有其他消耗方式,有时会伴随小游戏;
: 通常机制内abc三种货币都有一个应该刷取的数量,就能够圆满达成最大效益。
: 刷取货币的方式当然是从关卡中取得,但是每个关卡取得的资源不同,
: 那麽,要怎麽样才能够在最节省的状况下完成任务呢?
: 计算:
: 以我为例子,本次活动刷取的量分别为
: 九 : 8a 8b 52c
: 十 :61a 8c
: 十一: 61b 8c
: 十二: 67c
: 需求量则是12945、15650、越多越好。
: 显然我们不可能放弃刷取十、十一关,否则ab素材的量会完全不足,
: 但是,我们应该在第九关还是第十二关刷取素材c呢?
我感觉後面的"a,b,c全部限制 10000"的线性规划好像变成不同问题了?
让我们试着回到原本的问题
假设
x,y,z,v 分别代表的是 九, 十, 十一, 十二 要打几次
原本的问题限制应该是
1. a 要有 12945 个
2. b 要有 15650 个
想要优化的对象是 c资源 (越多越好)
然後这边我觉得还少了一个限制是:
最多可以打几场?
因为如果你能打的场次够多的话,在a,b足够的情况下,
九 跟 十二 会越打越多。
所以这边引入一个变数 n 来代表 最多可以打几场
线性规划问题如下:
max 52x + 8y + 8z + 67v (c资源越多越好)
subject to 8x + 61y > 12945 (a资源限制)
8x + 61z > 15650 (b资源限制)
x + y + z + v < n (最多打几场)
0 < x,y,z,v (场次不能是负的)
然後就也不用比较利益原理了,现在大家的电脑都够强
写出方程式之後,让程式帮你算就好了
Python Code
from scipy.optimize import linprog
def func(n):
# n = 最多打几场
Au = [[-8, -61, 0, 0],
[-8, 0, -61, 0],
[1, 1, 1 , 1]]
bu = [-12945, -15650, n]
bounds = [(0, None), (0, None), (0, None), (0, None)]
c = [-52,-8,-8,-67]
return linprog(c, A_ub=Au, b_ub=bu, bounds=bounds)
# 最多打500场的话,怎麽打比较好
print(func(500))
好像最少要能打 469 场才能满足需求的样子
我印象中,花凛对数学感到很苦手?
https://x.com/Arch_A4/status/1897929903690912069/photo/1
https://pbs.twimg.com/media/GlbNI5rbwAIIZh-.jpg
--
角卷绵芽2025生日纪念套组
https://i.imgur.com/4GXBO53.jpg
预购时间:至2025/07/07 18:00 (JST) 为止
官网连结:https://bit.ly/4kPdGLk
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 98.45.195.96 (美国)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Chat/M.1750756270.A.66C.html
1F:推 nahsnib: 对啦,我确实转化了问题,毕竟其实c素材有个边际 06/24 17:12
所以 c素材 也不全然是 越多越好?
2F:→ nahsnib: 超过就效益会陡降(这次活动来说 06/24 17:12
3F:→ nahsnib: 所以真的要算的话其实应该是把体力以及ab素材作为限制 06/24 17:12
4F:→ nahsnib: 去算在这个范围内c可以刷出几个 06/24 17:12
不过我很同意你前一篇的说法,其实会列式子才是重要的部分
5F:→ jeff666: 你那麽认真回这干嘛啦 06/24 17:13
因为我既喜欢数学 也喜欢美少女 :D
6F:推 gino0717: 我叫AI给我最佳解 06/24 17:15
7F:→ jeff666: 花凛数学苦手 但她是狙击手XD 06/24 17:16
※ 编辑: arrenwu (98.45.195.96 美国), 06/24/2025 17:20:55
8F:推 nahsnib: 看活动,有些活动c素材刷越多越好,有些不然,这次後者 06/24 17:23
9F:推 bautz: 花凛好婆 06/24 19:13
10F:推 Cagesong: 推推 06/25 00:34