
模拟退火算法
文章平均质量分 83
自学数学建模过程中,用模拟退火算法解决问题
笑发财WoW
是不是拥有以后就会开始要失去
展开
-
数学建模|通过模拟退火算法求解供货与选址问题:问题二(python代码实现)
区别就是第一问的A和B的坐标是固定的,所有AB到六个工地的距离也是固定的,我们的自变量就是AB对六个工地的供货量。也就是AB坐标也成了我们要求的自变量的一部分。可以看到我们计算出的解,比视频的解还节省的10的吨千米数,那我们的计算结果是更优的。不过要注意,因为自变量x与第一问的自变量有一点点改变,所有我们要保证约束条件接收到的是AB的供货量而不包括AB的坐标。然后我们定义我们距离函数,这个函数要把自变量传进去,然后获取到AB当前的坐标,再与info中的工地坐标进行计算就能得到距离了,公式和第一问是一样的。原创 2024-01-07 15:43:50 · 1315 阅读 · 0 评论 -
数学建模|用python求解非线性规划问题(模拟退火算法实现)
这个算法是具有通用性的,只要把目标函数和约束条件改一下,就可以计算类似这样的非线性规划问题,当然也可以解决线性规划问题。原创 2024-01-04 14:22:37 · 2141 阅读 · 2 评论 -
数学建模|通过模拟退火算法求解供应与选址问题:问题一(python代码实现)
为了优化这个问题,我进一步想到的了,每一列的元素之间是有联系的:列元素相加就等于对应工地的需求量。也就是说,为某一列的一个元素赋值,那么这一列的另外一个元素的值也就出来了,等于 需求量 - 随机赋的值。这里还是用两个numpy数组存储了工地和料场的信息,第一行和第二行是工地和料场的坐标,gondi的第三行,是各个工地的水泥需求量。通过上面的分析,我们知道了,A和B的供货量,就是我们要求的自变量。这就是最终的get_x函数啦,通过这样的设置,它就有一半的概率得到一个整数解,有一半的概率得到一个浮点数解。原创 2024-01-05 15:43:21 · 3104 阅读 · 2 评论 -
通过模拟退火算法求解一元五次方程最值(python代码实现)
x = random.uniform(-100000, 100000) #得到一个随机浮点数dx = x + random.uniform(-100000, 100000) * t #每次更新x都受到t都受到温度的影响,温度越高x的变化越大,温度越低x的变化范围越小。原创 2024-01-03 22:27:35 · 643 阅读 · 2 评论