【发布时间】:2014-05-23 17:42:54
【问题描述】:
我是 LPSolve 和工具包的新手。我正在尝试使用 LPSolve IDE 拼接 4 个图像 1024x1024 瓷砖。为了简化任务,我只使用了图块的 x 坐标。
-------------------------------
| Tile1 |Tile2 |
| | |
| | |
| | |
--------------------------------
| Tile3 | Tile4 |
| | |
| | |
| | |
--------------------------------
如果我按以下方式定义关系
min: +d1 +d3 +d4 +d6;
-x1 +x2 -1024 +d1 <=0.1;
-x1 +x2 -1024 +d1 >=-0.1;
-x1 +x3 +1 +d2 <=0.1;
-x1 +x3 +1 +d2 >=-0.1;
-x2 +x4 +d3 <=0.1;
-x2 +x4 +d3 >=-0.1;
-x3 +x4 -1024 +d4 <=0.1;
-x3 +x4 -1024 +d4 >=-0.1;
x1=1024;
x2=2048;
x3=1023;
x4=2047;
LPSolve 产生正确的结果
d1=0
d2=0
d3=0.900000000000091
d4=0
x1=1024
x2=2048
x3=1023
x4=2047
如果我将模型更改为以下,即将 Tile4 移动一个像素
min: +d1 +d2 +d3 +d4;
-x1 +x2 -1024 +d1 <=0.1;
-x1 +x2 -1024 +d1 >=-0.1;
-x1 +x3 +1 +d2 <=0.1;
-x1 +x3 +1 +d2 >=-0.1;
-x2 +x4 +d3 <=0.1;
-x2 +x4 +d3 >=-0.1;
-x3 +x4 -1024 +1 +d4 <=0.1;
-x3 +x4 -1024 +1 +d4 >=-0.1;
x1=1024;
x2=2048;
x3=1023;
x4=2047;
LPSolve 响应“模型不可行”,而我认为响应应该是
d1=1
d2=0
d3=0.900000000000091
d4=1
我做错了什么?
【问题讨论】:
标签: linear-programming image-stitching lpsolve