mathe
发表于 2020-10-28 14:43:26
大部分紧挨着正放的情况,歪着放的应该只可能一个。
四个以上歪着放的很容易淘汰掉。对于一个歪着放的正方形,对应水平和垂直方向各自产生一条缺口,那么两个缺口宽度之和必须是小正方形的边长之和的$\sqrt{2}$倍。
假设小正方形边长为a, 如果有两个歪着放的正方形在同一个水平线,对应缺口宽度为b,另外一个方向缺口为$c_1,c_2$.那么如果$c_1+c_2 \ge a$,显然结果不是最优的,我们只要将两个垂直方向缺口合并,就得到一个宽度不小于1的缺口,垂直方向至少可以添加两个以上小正方形,产生更好的结果。
所以$c_1+c_2 \gt a$, 但是$b+c_1=\sqrt{2}a, b+c_2=\sqrt{2} a$, 由此得出$a\lt b \lt (\sqrt{2}-\frac{1}{2}) a=0.914... a$
也就是b的可选机会很小很小。
而且进一步很简单可以判断出一行三个歪着的正方形完全不可以,同样两行两列四个以上歪着的正方形也不可以。
mathe
发表于 2020-10-28 14:50:57
28#到29#方案关键信息是假设倾斜角度为$\theta$,正方形边长为$a$,每排n个正方形。于是横向约束给出了$a(\sin(\theta)+n\cos(\theta))=1$.
其中我们仅考虑$a\gt 1/n$的情况(可以通过设$a=1/n$给出上面方程$\theta$的临界值,略微超越临界值就可以得出一组候选解)。
而垂直方向,根据上下两边接触的点的不同可以列出另外一条约束方程给出一组候选解
王守恩
发表于 2020-10-28 15:45:30
本帖最后由 王守恩 于 2020-10-28 16:13 编辑
mathe 发表于 2020-10-28 14:43
大部分紧挨着正放的情况,歪着放的应该只可能一个。
四个以上歪着放的很容易淘汰掉。对于一个歪着放的正方 ...
歪着放的最优解,当然是指:歪着放比全部是正放的会更优
那么,歪着放的只可以是一个正方形,好像只有以下可能
注意:中间这个数恰好(不多也不小)是2,3,4,5,6,7,8,9,...
3=1×2+1
7=2×3+1
13=3×4+1
16=3×5+1
25=4×6+1
36=5×7+1
41=5×8+1
55=6×9+1
71=7×10+1
89=8×11+1
97=8×12+1
118=9×13+1
141=10×14+1
151=10×15+1
177=11×16+1
205=12×17+1
王守恩
发表于 2020-10-28 16:25:22
本帖最后由 王守恩 于 2020-10-28 16:27 编辑
mathe 发表于 2020-10-28 14:50
28#到29#方案关键信息是假设倾斜角度为$\theta$,正方形边长为$a$,每排n个正方形。于是横向约束给出了$a(\si ...
55个正方形最优解=\(\frac{\sqrt{2}+1}{\sqrt{2}+15}=0.1470806721\)
63个正方形最优解=\(\frac{1}{7}=0.1428571428\)
28#到29#方案应该是在这两者之间。
王守恩
发表于 2020-10-28 19:04:33
本帖最后由 王守恩 于 2020-10-28 19:11 编辑
mathe 发表于 2020-10-28 12:37
上图中取倾斜角度为16.735886895369516302492383471954808726度,边长为0.1430317103546470317344428027897 ...
而查看这个图,感觉59个正方形还有更优秀的
NSolve[{Sin + 9/Cos ==Sqrt/x, (Sin + 7)^2 - (Sin + 2/Cos)^2 ==1/x^2, \/2 > a > 0}, {a, x}]
{{a -> 0.309814, x -> 0.144976}}
同理,29个正方形
NSolve[{2Sin + 6/Cos==Sqrt/x, (Sin/Cos + 5)^2 - (2Sin + 1/Cos)^2==1/x^2,\/2> a >0},{a, x}]
{{a -> 0.376616, x -> 0.196753}}
dlpg070
发表于 2020-10-28 19:46:12
王守恩 发表于 2020-10-24 19:31
应该还有更好的吧?心里没底。
先往前走一走,看能不能找出什么来。
+2不是最优解(目前为止),+1有最 ...
仔细分析计算结果后,确认发现2个立放的最优解
1 n=26 水平优于垂直
n=26 4x6+2垂直 a= 0.202884, b=0.188465,c= 0.0984557
n=26 4x6+2水平 a= 0.203332, b=0.0933354, c= 0.19422
2 n=56 垂直优于水平
n=56 6x9+2垂直 a= 0.143283, b=0.140301,c= 0.0623323
n=56 6x9+2水平 a= 0.1427, b=0.0718988, c= 0.12991
mathe
发表于 2020-10-28 20:56:28
补上dlpg070的n=26对应的图:
mathe
发表于 2020-10-28 22:38:27
32#除了a和角度关系式,极值应该上下边还各有格点,给出两个额外约束.
于是得出一般情况方程组可以为
\(\begin{cases}(u\sin(\theta)+\frac{w}{\cos(\theta)})a-\tan(\theta)=\sqrt{2}\\(\sin(\theta)+n\cos(\theta))a=1\end{cases}\).
其中w代表从落在顶上线的点到落在底上线的点之间平行线间隔数目。
比如下面给出了一部分解(仅选择$a\gt \frac 1 n$). 现在的问题是如何比较方便的计数对应情况可以最多有多少个正方形落在A4纸
uwna$\theta$支持数目
2970.1717940.74566137
3970.165060.68368541
4970.1590750.61748143,45
5970.1539650.54835547,48
6970.1498250.47840850,51
7970.1466790.41044354,55
8970.1444640.34750455,57
9970.1430320.29209658,59
10970.1421840.24549259,60
21070.1583470.60848144
31070.1526210.52738149
41070.1477890.43651652,53
51070.1440760.33417257,58
11870.1446200.35261554,55,56
mathe
发表于 2020-10-29 14:00:48
42应该可以找到更优结果
uwna$\theta$支持数目
3860.1837320.62801732
4860.1768370.54244634,35
5860.1714710.45334438
6860.1677640.36578840,41
3960.1678050.36698540
2960.1748280.51228936
2760.2110930.84319726
3760.2010670.77865826
4760.1921090.70892728,29
5760.1844440.63568731
6760.1782210.56158533,34
7760.1734660.48989636,37
8760.1700550.4237838,38,40
9760.1677530.36545440,41,42
10660.1716850.45752236,37,38
11660.1693740.40811538,39,40
12660.1677480.36529740,41,42
王守恩
发表于 2020-10-29 14:20:37
本帖最后由 王守恩 于 2020-10-29 14:25 编辑
王守恩 发表于 2020-10-28 19:04
而查看这个图,感觉59个正方形还有更优秀的
NSolve[{Sin + 9/Cos ==Sqrt/x, (Sin + 7)^2 -...
对不起,35楼错啦!只能在这里改。
而查看这个图,感觉59个正方形还有更优秀的
NSolve[{Sin + 9/Cos ==Sqrt/x, (Sin/Cos + 7)^2 - (Sin + 2/Cos)^2==1/x^2,\/4> a >0},{a, x}]
{{a -> 0.317019, x -> 0.144547}}
同理,29个正方形
NSolve[{2Sin + 6/Cos==Sqrt/x, (Sin/Cos + 5)^2 - (2Sin + 1/Cos)^2==1/x^2,\/4> a >0},{a, x}]
{{a -> 0.376616, x -> 0.196753}}
页:
1
2
3
[4]
5
6
7
8
9
10
11
12
13