24小时热门版块排行榜    

查看: 4351  |  回复: 17

chenyangbu

金虫 (著名写手)

[求助] 求助大神,为何不同机器运行MATLAB结果不同 已有3人参与

求助:不同机器运行MATLAB结果不同

我调用MATLAB优化工具箱的库函数fmincon,使用相同的初始解(可行解),对同一个问题进行局部搜索(算法为序列二次规划,即SQP),但在不同机器上得到的结果不同。

一共有五台机器 (为了方便,简称为A1,A2,A3,  B1,B2),  B1-B2配置相同,均为新买的机器,A1-A3为以前的机器。A1-A3上运行结果相同, B1-B2上结果相同。

在A1-A3以及B1-B2上均安装了MATLAB2014b和MATLAB2015a,说明MATLAB版本对结果没有影响。

A1-A3的系统分别为Windows 7, Windows Server 2008, Windows Server 2003;
B1-B2的系统分别为Windows 7, Windows 10;
都有win7,说明系统对结果应该没有影响。

但A1-A3与B1-B2的结果不同,说明机器对结果有影响?

调用fmincon的核心代码如下:
options=optimset('Algorithm','sqp','GradObj','off','GradConstr','off','TolCon',0,'Display','iter','TolFun',1e-4,'MaxFunEvals',50);
[X,FVAL,EXITFLAG,OUTPUT,LAMBDA,GRAD,HESSIAN]=fmincon(@myFun,x0,[],[],[],[],lb,ub,@mycon,options);

其中,@myFun为所求解函数的目标函数,@mycon为所求解函数的约束函数;lb,ub分别为自变量的下界和上届(lb=[0,0] ,ub=[3,4]).

初始解均为:[2.32952 3.17849]

两种结果如下
1)A1-A3上的运行结果如下:
                                                                                     Norm of First-order
   Iter      F-count     f(x)         Feasibility  Steplength       step            optimality
    0       3   -5.508010e+00   2.000e+00                                          1.000e+00
    1       6   -3.508006e+00   2.685e-08   1.000e+00   2.000e+00   2.000e+00
    2       9   -3.508013e+00   2.927e-12   1.000e+00   6.319e-06   1.000e+00
    3      12   -3.508013e+00   0.000e+00   1.000e+00   1.946e-12   1.279e-08

得到的解为:2.329520197477608   1.178493074117684
目标函数值是:-3.508013271595291


2)B1-B2的运行结果如下:
                                          
                                                                            Norm of First-order
Iter   F-count     f(x)        Feasibility  Steplength     step  optimality
    0       3   -5.508010e+00   2.000e+00                          1.000e+00
    1       6   -3.508006e+00   2.685e-08   1.000e+00   2.000e+00   2.000e+00
    2       9   -3.508013e+00   2.984e-12   1.000e+00   6.319e-06   1.694e+00
    3      12   -3.508013e+00   0.000e+00   1.000e+00   1.972e-12   1.179e-06

得到的解为:2.329520197477604   1.178493074117646
目标函数值是:-3.508013271595249。


求教大神,是否可能因为不同机器的浮点数运算部件不同导致会有最终结果有精度的差异?
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

cmit

捐助贵宾 (著名写手)

cpu是不是不一样,指令集有区别?

发自小木虫Android客户端
5楼2016-03-05 07:00:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ll550

木虫 (职业作家)

livelong
3楼2016-03-04 22:49:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chenyangbu

金虫 (著名写手)

引用回帖:
3楼: Originally posted by ll550 at 2016-03-04 22:49:17
这个精度是可以接受的吧

因为我的源码以后会公开,想让其他人可以完全重现我的论文~
10楼2016-03-05 12:53:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

chenyangbu

金虫 (著名写手)

另外,五台机器均为64位机器
2楼2016-03-04 21:39:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

人民海军

木虫 (职业作家)

操作系统是不是都64位的?

发自小木虫Android客户端
Letbygonesbebygones.
4楼2016-03-05 05:51:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
6楼2016-03-05 07:09:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
chenyangbu: 金币+14, ★★★★★最佳答案 2016-03-08 17:38:18
引用回帖:
5楼: Originally posted by cmit at 2016-03-05 07:00:03
cpu是不是不一样,指令集有区别?

的确;这种浮点数上的微小差别,只能是CPU硬件级别的差异。

从代差时间看,主要还是CPU升级的影响,楼主把CPU的型号报出来看看
ส็็็็็็็็็็็็็็็็็็็็
7楼2016-03-05 09:01:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chenyangbu

金虫 (著名写手)

引用回帖:
7楼: Originally posted by cooooldog at 2016-03-05 09:01:06
的确;这种浮点数上的微小差别,只能是CPU硬件级别的差异。

从代差时间看,主要还是CPU升级的影响,楼主把CPU的型号报出来看看...

各CPU型号为:
A1: Intel(R) Core(TM) i7-2600 3.40GHz
A2: Intel(R) Xeon(R) E5-2640 v2 2.00GHz
A3: Intel(R) Xeon(R) X5670 2.93GHz

B1-B2:
Intel(R) Core(TM) i7-4790 3.60GHz
8楼2016-03-05 12:51:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chenyangbu

金虫 (著名写手)

引用回帖:
4楼: Originally posted by 人民海军 at 2016-03-05 05:51:01
操作系统是不是都64位的?

操作系统都是64位的~
9楼2016-03-05 12:52:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 chenyangbu 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 0854 考研调剂 招生了!AI 方向 +3 pk3725069 2026-03-19 14/700 2026-03-23 14:44 by Jack_333
[考研] 336求调剂 +3 收到VS 2026-03-20 3/150 2026-03-23 13:23 by Iveryant
[考研] 307求调剂 +11 冷笙123 2026-03-17 11/550 2026-03-22 20:16 by edmund7
[考研] 306求调剂 +5 来好运来来来 2026-03-22 5/250 2026-03-22 16:17 by BruceLiu320
[考研] 一志愿东华大学控制学硕320求调剂 +3 Grand777 2026-03-21 3/150 2026-03-21 19:23 by 简之-
[考研] 0703化学调剂 +4 妮妮ninicgb 2026-03-21 4/200 2026-03-21 18:39 by 学员8dgXkO
[考研] 材料 271求调剂 +5 展信悦_ 2026-03-21 5/250 2026-03-21 17:29 by 学员8dgXkO
[考研] 0805材料320求调剂 +3 深海物语 2026-03-20 3/150 2026-03-21 15:46 by 无际的草原
[考研] 279求调剂 +5 红衣隐官 2026-03-21 5/250 2026-03-21 14:59 by lature00
[考研] 南昌大学材料专硕311分求调剂 +6 77chaselx 2026-03-20 6/300 2026-03-21 07:24 by JourneyLucky
[考研] 316求调剂 +6 梁茜雯 2026-03-19 6/300 2026-03-21 06:32 by Ecowxq666!
[考研] 一志愿武汉理工材料工程专硕调剂 +9 Doleres 2026-03-19 9/450 2026-03-20 22:36 by JourneyLucky
[考研] 一志愿 西北大学 ,070300化学学硕,总分287,双非一本,求调剂。 +4 晨昏线与星海 2026-03-19 4/200 2026-03-20 22:15 by JourneyLucky
[考研] 材料与化工 322求调剂 +4 然11 2026-03-19 4/200 2026-03-20 22:12 by luoyongfeng
[考研] 295复试调剂 +8 简木ChuFront 2026-03-19 8/400 2026-03-20 20:44 by zhukairuo
[考研] 0817 化学工程 299分求调剂 有科研经历 有二区文章 +22 rare12345 2026-03-18 22/1100 2026-03-20 20:39 by zhukairuo
[考研] 一志愿中国海洋大学,生物学,301分,求调剂 +5 1孙悟空 2026-03-17 6/300 2026-03-19 23:46 by zcl123
[考研] 320求调剂0856 +3 不想起名字112 2026-03-19 3/150 2026-03-19 22:53 by 学员8dgXkO
[考研] 085600材料与化工调剂 324分 +10 llllkkkhh 2026-03-18 12/600 2026-03-19 14:33 by llllkkkhh
[考研] 一志愿南京大学,080500材料科学与工程,调剂 +4 Jy? 2026-03-16 4/200 2026-03-17 11:02 by gaoqiong
信息提示
请填处理意见