合版印刷拼版算法问题(有偿,1000~2000元)

合版印刷拼版算法问题

所谓的合版印刷,就是我们会将来自不同客户、不同订单的卡片,拼版到同一个版面,然后制版印刷。

在合版印刷中,需要解决如下的问题。

一、矩形拼版算法

将若干尺寸不尽相同的小尺寸矩形拼版(排版)到一个大的矩形里。怎么样使得能够排版的小矩形更多?(版面的利用率更高?)
在排版中,还需要 注意一些约束条件,最主要的一个是:要能便于印后的裁切(一刀切)。所谓的一刀切,即指每一刀下去,都是一分为二。
如果小矩形都是同样的尺寸,这种拼版比较方便。主要是多尺寸矩形拼版。
目前我们通过遗传算法计算多尺寸拼版,但是经常得不到理想的结果,有时候甚至不如人工拼版的利用率。
并且,时间不太受控。

二、如何得到最好的拼版(花最少得钱,干同样多的活)

假如我们得到了一个拼版,我们可能会印刷200份、500份、1000份、2000份、5000份、10000份。(除非特殊情况,我们都是按这些数量印刷的)。
一般来说,印刷份数越多,则单份相对更便宜。 比如印200份共400元,而印500份只需要800元(而非1000元),公司有个价格表。

数量 200 500 1000 2000 5000 10000
价格 400 800 1550 3000 7000 12000

价格表仅示意,非公司真实价格

那么问题来了。假如某个订单有10款卡片,每款10000张。 我们会怎么印刷呢? 理论上,如果还别很多别的订单卡片,如果也是每款10000张,这些卡片正好
能凑满一张版面。 那么情况就比较理想了。 然后还会有一些情况,比如假如别的订单卡片都是每款才5000张(甚至有些还不到5000张)。 那我这个订单
则很显然不合适印10000份。因为他们占不满一整张版面,浪费的会很多。假如200份400元。而4个订单平均占了这个版面,那每个订单的成本就是
400/4=100元。而这一个订单因为没有和别的订单共享版面,切浪费的空间很多,就会成本过高。 此时,我们可能会将这10款卡片每款10000张,变成
20款卡片每款5000张,也可能是50款卡片,每款2000张。 更甚至会有10款拆开,变成比如16款5000张(别的订单正好和这16款组成一个利用率很高的版面)和20款每款1000张的情况。

如何拼版更便宜?

其实为了某些方便,我们会将版面划分为多个标准网格,比如我们的版面可能有92*56的小网格组成的大版面(11列,12行),我们的价格一般是单个网格(模位)
的价格,比如假定200分400元。这个版面被分成100个模位,那么每个模位价格是4元。我们往往看这个订单占了多少个模位。(似与整个算法关系不大)

假如某个卡片要15600张,我们可能最后是10000A+5000B+2000C+1000D+500E+200F的组合。(A,B,C,D,E,F指的款数,如果总的卡片数不少于原来的15600张即可),这里
可以按背包问题的解法。

求算法,有偿,谢谢。

posted @ 2024-07-14 23:48  相忘于江湖  阅读(196)  评论(0编辑  收藏  举报