hujunhua 发表于 2020-12-17 15:18:30

点 (a,a) 在角上正方形外边包络内边缘,因此楼上右图首尾两个正方形摆正的方案比155#的更宽裕。
经验算能治愈99.

mathe 发表于 2020-12-17 22:18:47

嗯,我是被141#的26正方形方案误导了

mathe 发表于 2020-12-18 12:24:39

在88#的分析中,错误的设定了斜向小正方形的数目为u+1,所以导致sqrt2.c代码没有搜索到99个小正方形的这种划分方案。
如果我们仅分析这种斜向小正方形可以充分利用锯齿状宽度的方案还是比较简单的:
25      {Cm 4*6-2+3}   0.211521
36      {Cm 5*7-3+4}   0.180396
37      {Cm 5*7-3+5}   0.180396
41      {Cm 5*8-3+4}   0.168771
49      {Cm 6*8-4+5}   0.158091
55      {Cm 6*9-4+5}   0.147191
56      {Cm 6*9-4+6}   0.147191
71      {Cm 7*10-5+6}    0.131169
72      {Cm 7*10-5+7}    0.131169
73      {Cm 7*10-5+8}    0.131169
89      {Cm 8*11-6+7}    0.118766
90      {Cm 8*11-6+8}    0.118766
98      {Cm 8*12-6+8}    0.112948
99      {Cm 8*12-6+9}    0.112948
109   {Cm 9*12-7+8}    0.108924
118   {Cm 9*13-7+8}    0.103109
119   {Cm 9*13-7+9}    0.103109
120   {Cm 9*13-7+10}   0.103109
141   {Cm 10*14-8+9}   0.095162
142   {Cm 10*14-8+10}0.095162
143   {Cm 10*14-8+11}0.095162

mathe 发表于 2020-12-18 20:02:33


更新一下,修正了前面的bug
结果中Cm如160#右边的模型
https://bbs.emath.ac.cn/data/attachment/forum/202012/17/145509h52221z9wwqs2vq0.png

Cm2如93#中模型
https://bbs.emath.ac.cn/data/attachment/forum/202011/08/161230svyravza2tw16yuf.png

m*n+h如153#
https://bbs.emath.ac.cn/data/attachment/forum/202012/15/133859p5hccqp4x45csx4n.png

m*n+2V 如37#
https://bbs.emath.ac.cn/data/attachment/forum/202010/28/205623i7fd6z63vflrmmvm.png
类似有m*n+2H

V*** 如52#
https://bbs.emath.ac.cn/data/attachment/forum/202010/30/202115h1w1wt8t9k13tq1t.png

H***如53#
https://bbs.emath.ac.cn/data/attachment/forum/202010/30/204950guzsls9q9i2ll9sb.png

LV***以及LH***类似V***,H****,唯一的区别是允许左右或上下少量留空,如108#
https://bbs.emath.ac.cn/data/attachment/forum/202011/19/100032tuo04n0naebtayay.png

m*n或m*n-h如20#
https://bbs.emath.ac.cn/data/attachment/forum/202010/23/201814dtc5ul1qnycqqcqq.png

还有C2和C4专指中间有两个或四个倾斜的正方形的情况,如80#
https://bbs.emath.ac.cn/data/attachment/forum/202011/04/214333ejm5b22n2fnm2mfg.pnghttps://bbs.emath.ac.cn/data/attachment/forum/202011/04/214339tpovjdyyiyjqmv5h.png

还有Cu1/Cu2应该是C2/C4或Cm/Cm2等的变种,具体意义有点忘了。

dlpg070 发表于 2020-12-19 12:51:56

本帖最后由 dlpg070 于 2020-12-19 16:32 编辑

mathe 发表于 2020-12-18 20:02
更新一下,修正了前面的bug
结果中Cm如160#右边的模型



20201218版改进很大,改进效果明显

DType 修改1项,增加4项
T1改为Tk                                    
增加 4项:dV,dH,Cm,Cm2
n=27 双排没有作为新类型处理
n=17不是等错排列,s形排列,待深入研究


修改或新增类型n<1000 ,有最优解的统计如下:
Tk39项
Cm 106项
Cm2 20项
dV   0项
dH   0项
参考:
V:   291项 斜排
----------
代码修改小建议:
我每次编译新版本需要修改3处:希望预先改好,我可偷闲

1 int main() 尾部 加 return 0;
2 2处类型强制转换
v.type =(DType) type;

3 为了统计方便,建议Tk类型输出时增加类型字符: Tk
                printf("%d\t{Tk %d*%d+%d}\t %f(%f)\n", n, v->tvalue.x, v->tvalue.y, v->tvalue.k, v->value,v->value*v->value*n/sqrt(2));

mathe 发表于 2020-12-20 11:33:09

现在模型Cm或Cm2会在右上角留下一长串名列,有些浪费。如果参考现在17个正方形的方案,可以考虑将倾斜正方形从某个位置分割为两段,然后把上面部分上移若干行,就可以把部分空列挪移到中间,然后模仿17方案,去除此空列边上一列得到宽度大于a的空列改为竖向排列尽量多倾斜的小正方形是不是可以产生更优方案?

dlpg070 发表于 2020-12-20 14:51:21

mathe 发表于 2020-12-18 20:02
更新一下,修正了前面的bug
结果中Cm如160#右边的模型



160# 右图 Cm方案 和 93# Cm2方案 实际是同一方案 ,包括Cu2常常就是Cm2
这类特点是左下右上等差排列斜放正方形,b,c宽度缝隙不靠边,不考底或顶,可统一处理
例如 n=56=4*6+2=4*6-2+4
最优前8个解如下(因为通常有3---4个斜排优秀接解,增加到8 ,可以看到其它类型的解)

56        {Cm 6*9-4+6}       0.14719068059(0.85789405053)
56        {Tk 6*9+2}       0.14708067208(0.85661217072)
56        {Cu2 6*9} t=1.23095941734       0.14644660941(0.84924240492)
56        {V: n=7,u=10,w=8,s=5,t=0.39747591201}       0.14616935803(0.84602989294)
56        {V: n=7,u=13,w=7,s=6,t=0.39006183061}       0.14589074376(0.84280772165)
56        {C4 6*9}       0.14495375471(0.83201655500)
56        {V: n=8,u=4,w=10,s=2,t=0.66679005118}       0.14482354820(0.83052248799)
56        {V: n=7,u=11,w=8,s=4,t=0.35261477117}       0.14462020362(0.82819187689)
注意有Cu2 没有Cm2

A4_56_Cm_20201217.png

n=56 Cm方案,图形 ,供深入分析参考
斜放的6个正方形均匀排列 显得空隙较大,
实际与160#右图 a值完全一样, 那张图以O为中心紧凑均匀排列

dlpg070 发表于 2020-12-23 13:01:03

本帖最后由 dlpg070 于 2020-12-23 17:11 编辑

mathe 发表于 2020-12-20 11:33
现在模型Cm或Cm2会在右上角留下一长串名列,有些浪费。如果参考现在17个正方形的方案,可以考虑将倾斜正方 ...

分析面积利用率,得知,顶部已经不可能再改进
本来对于顶部垂直空白处改进抱有很大希望,特意画出n=252图形,但深入分析后,彻底失望了

顶部面积利用率 k1= u a
A4页面平均面积利用率 k= (n a a)/(Sqrt)
计算得 k1>k
例如1:
n= 56
a= 0.147191
b= 0.116856
c= 0.0894974
u= 6
v= 9
d= 4
w= 6
t= 0.857894
td= 49.1537
k= 0.857894
v1= 3
k1= 0.883144
e1(>0)=2.17222*10^-14
k1>=k? True

例如2:
n= 252
a= 0.072308
b= 0.0599955
c= 0.0403608
u= 13
v= 19
d= 11
w= 16
t= 0.857894
td= 49.1537
k= 0.931663
v1= 6
k1= 0.940005
e1(>0)=-1.23693*10^-11
k1>=k? True

王守恩 发表于 2020-12-24 07:12:09

本帖最后由 王守恩 于 2020-12-24 09:09 编辑

dlpg070 发表于 2020-12-23 13:01
分析面积利用率,得知,顶部已经不可能再改进
本来对于顶部垂直空白处改进抱有很大希望,特意画出n=252图 ...
三个工具。
1,一堆积木(大小相同的正方形)
2,长方形棋盘(多一条(斜率\(\sqrt{2}\))斜线,右下角为起点)
3,一根活动的直角木条(顶点永远在斜线上)
n 块积木,总会被挤在某个木条范围内
对每个 n 来说,比较斜线总会有一条是最短的。
显见
积木(任意)顶点永远不会与斜线重合,但总是会有一些靠得很拢。
解题是一个互动的过程,我们享受的是环节中的附产品(跑题了)。

uk702 发表于 2020-12-24 08:55:11

本帖最后由 uk702 于 2020-12-24 09:10 编辑

dlpg070 发表于 2020-12-20 14:51
160# 右图 Cm方案 和 93# Cm2方案 实际是同一方案 ,包括Cu2常常就是Cm2
这类特点是左下右上等差排列斜放 ...

我个认为随着 n 的增加,多行斜排、包括团排可能是必然会出现的。
页: 7 8 9 10 11 12 13 14 15 16 [17] 18 19 20 21
查看完整版本: A4正方形