c++实现【典型的旅行商问题(TSP)】实现配送中心最多可以用2辆车对8个客户进行运输配送

news/2024/10/18 12:23:09/

假定配送中心最多可以用2辆车对8个客户进行运输配送。每个车辆载重均 为8吨,车辆每次配送的最大行驶距离为50km,配送中心(编号0)与8个客 户之间及8个客户相互之间的距离d; (i, j= 1, 2, ... 8)、8个客户的货物需 求r;(j= 1, 2... 8)如表1所示。要求寻找一条路径, 使得配送总里程最 短。

这是一个典型的旅行商问题(TSP),可以使用贪心算法或者动态规划进行求解。以下是一种基于贪心算法的解法:

  1. 从配送中心出发,选择距离最近的客户进行配送,并将其需求量减去车辆载重;
  2. 如果当前车辆还有剩余空间,则选择距离最近且需求量不超过剩余空间的客户继续配送;
  3. 如果当前车辆已经无法再配送任何客户,则返回配送中心并换一辆新车继续上述步骤;
  4. 当所有客户都得到了配送后,记录下当前的路径长度和路径;
  5. 对所有可能的路径进行比较,选出最短的那条路径作为最终结果。

以下是C++实现代码:

#include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>using namespace std;const int N = 10; //客户数目
const int M = 1 << N; //状态总数int dist[N][N]; //存储两点之间的距离
int demand[N]; //存储每个客户的需求量
double f[M][N]; 

http://www.ppmy.cn/news/107238.html

相关文章

麓言信息UI设计和web前端的区别

很多想从事互联网岗位的朋友在选择UI设计还是web前端&#xff0c;也不知道选哪个好&#xff0c;今天小编将带你了解UI设计和web前端的区别&#xff0c;让大家对UI设计和web前端有更多的了解&#xff0c;也能为之后的选择有一定的帮助。   UI设计要考虑人机交互的效果   …

设计师们都在用的AI作图神器,你还不抓紧入手一款

人工智能在机器和计算机控制的机器人中模拟人类智能过程。这允许计算机系统执行繁重的任务&#xff0c;帮助人类专注于更重要的事情。因此&#xff0c;多年来&#xff0c;工作场所对 AI 集成的需求不断增加。 同样&#xff0c;人工智能正迅速成为设计行业的一部分。在平面设计…

去了字节跳动,才知道年薪40W的测试有这么多?

今年大环境不好&#xff0c;内卷的厉害&#xff0c;薪资待遇好的工作机会更是难得。最近脉脉职言区有一条讨论火了&#xff1a; 哪家互联网公司薪资最‘厉害’&#xff1f; 下面的评论多为字节跳动&#xff0c;还炸出了很多年薪40W的测试工程师 我只想问一句&#xff0c;现在的…

七大软件架构设计原则详解

目录 1、概述 2、七大设计原则 2.1、开闭原则 2.2、里氏替换原则 2.3、依赖倒置原则 2.4、单一职责原则 2.5、接口隔离原则 2.6、迪米特法则 2.7、合成复用原则 3、最后 VC常用功能开发汇总&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&…

用可编程逻辑器件FPGA LCMXO2-4000HC-6MG132I 实现智能汽车解决方案设计

LCMXO2-4000HC-6MG132I lattice莱迪斯深力科 MachXO2 可编程逻辑器件 (PLD) 由六个超低功耗、即时启动、非易失性 PLD 组成&#xff0c;可提供 256 至 6864 个查找表 (LUT) 的密度。 MachXO2 系列 PLD 提供多种特性&#xff0c;例如嵌入式块 RAM (EBR)、分布式 RAM 和用户闪存 …

git新手将网页设计代码提交到github上

以下是将代码提交到Github上的一些步骤。如果中途遇到问题或不会的需要我帮忙&#xff0c;可以文章底部联系我。 1. 创建Github账户 首先&#xff0c;您需要在Github上注册一个账户。 如果您已经有账户了&#xff0c;请跳过这一步。 2. 创建一个新的repository 在您的Githu…

太优雅了,公司项目终于用上了Spring状态机

1、什么是状态机 1.1 什么是状态 先来解释什么是“状态”&#xff08; State &#xff09;。现实事物是有不同状态的&#xff0c;例如一个自动门&#xff0c;就有 open 和 closed 两种状态。我们通常所说的状态机是有限状态机&#xff0c;也就是被描述的事物的状态的数量是有限…

python获取并解析电影评分Top 250的电影名称、评分和电影类型,并统计分析出哪些电影类型占比居多(最终结果显示剧情类型的电影占比最多)

一、实现目标 python编写一个简易的爬虫程序,获取电影有史以来的电影评分最高的前250部电影的名称和评分,获取的数据存储到exce文件中。之后统计分析出哪些电影类型占比居多。 二、实现思路 1、找到电影评分Top250的页面 2、分析该网页的数据结构,找到要解析的数据在哪个位置…