一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【优化选址】基于matlab穷举法求解小区基站选址优化问题【含Matlab源码 439期】

获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、背景简介

【案例】有一个移动电话运营商计划在一个目前尚未覆盖的区域开展业务,预算为1000万元。调查表明,此区域有7个位置可以安设基站,每个基站只能覆盖一定数目的社区,具体数据见下表:

解决思路:
1)穷举基站建造的可能性(排列组合,7选1至7选7)
2)去掉预算超标的
3)计算每个组合覆盖的社区
4)计算覆盖的人数
5)求人数最大值找出最优方案

三、部分源代码

function [C,P] = GetPlan()
clc
clearGet_OptimalCombination(1);
Get_OptimalCombination(2);
Get_OptimalCombination(3);
Get_OptimalCombination(4);
Get_OptimalCombination(5);end%function [Plan_BuildStation, Plan_BuildCost, Plan_CoverCommunity, Plan_CoverPeople] = Get_OptimalCombination(SelectNum)
function Result = Get_OptimalCombination(SelectNum)%基站建设费用Cost = [1.8, 1.3, 4.0, 3.5,3.8,2.6,2.1];%基站对应的社区BaseStation_Community = [1,2,4,0,0; 2,3,5,0,0; 4,7,8,10,0; 5,6,8,9,0; 8,9,12,0,0; 7,10,11,12,15; 12,13,14,15,0];%社区对应的人口数Community_Person = [2, 4, 13, 6, 9, 4, 8, 12, 10, 11, 6, 14, 9, 3, 6];CB_num = combntns(1:7, SelectNum);%求排列组合数[Size_row, Size_column] = size(CB_num);%求组合的行数和列数CB_num;%测试项%求出每种组合的价格for i = 1:1:Size_rowBuild_Cost(i) = 0;for j = 1:1:Size_columnTemp1 = Cost(CB_num(i,j));Build_Cost(i) = Build_Cost(i) + Temp1;endendBuild_Cost;%测试项    %判断是否超出预算,并删除不符合要求的组合abcd1 = 0;for i = 1:1:Size_rowif Build_Cost(i) > 10abcd2 = i;abcd1 = [abcd1 abcd2]; %取出不合适的序号        end    endabcd1(:,1) = [];%删除第一项0for i = length(abcd1):-1:1abcd1(i);CB_num(abcd1(i),:) = [];Build_Cost(:,abcd1(i)) = [];end[Size_row, Size_column] = size(CB_num);%更新数组参数  if Size_row == 0return;end%求每种组合覆盖的社区for i = 1:1:Size_rowTemp2 = 0;for j = 1:1:Size_column;Temp3 = BaseStation_Community(CB_num(i,j),:);Temp2 = [Temp2 Temp3];%数组组合Cover_Community{i} = Temp2(Temp2~=0);%组成元包数组endendCover_Community{1};%测试项%Cover_Community{1}(:,4)%求覆盖的人数for i = 1:1:Size_rowTemp4 = Cover_Community{i};Temp6 = 0;for j = 1:1:length(Cover_Community{i});Temp7 = Cover_Community{i}(:,j);%读覆盖的社区Temp6 = Temp6 + Temp5;%求和Plan_TotlePeople(i) = Temp6;end

四、运行结果

五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.

【优化选址】基于matlab穷举法求解小区基站选址优化问题【含Matlab源码 439期】相关推荐

  1. 【Matlab指纹识别】指纹识别门禁系统【含GUI源码 1692期】

    一.代码运行视频(哔哩哔哩) [Matlab指纹识别]指纹识别门禁系统[含GUI源码 1692期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继 ...

  2. 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...

  3. 【Matlab树叶分类】BP神经网络植物叶片分类【含GUI源码 916期】

    一.代码运行视频(哔哩哔哩) [Matlab树叶分类]BP神经网络植物叶片分类[含GUI源码 916期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅 ...

  4. 【Matlab水果蔬菜识别】形态学水果蔬菜识别【含GUI源码 919期】

    一.代码运行视频(哔哩哔哩) [Matlab水果蔬菜识别]形态学水果蔬菜识别[含GUI源码 919期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅. ...

  5. 【Matlab青草识别】形态学马唐草+牛筋草识别【含GUI源码 908期】

    一.代码运行视频(哔哩哔哩) [Matlab青草识别]形态学马唐草+牛筋草识别[含GUI源码 908期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅 ...

  6. 【Matlab限速标志识别】形态学限速标志识别【含GUI源码 1142期】

    一.代码运行视频(哔哩哔哩) [Matlab限速标志识别]形态学限速标志识别[含GUI源码 1142期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅 ...

  7. 【微电网优化】基于matlab粒子群算法求解综合能源系统优化问题【含Matlab源码 1969期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[微电网优化]基于matlab粒子群算法求解综合能源系统优化问题[含Matlab源码 1969期] 点击上面蓝色字体,直接付费下载,即可. ...

  8. 穷举法求解鸡兔同笼问题

    #include<iostream> #include<cstdlib> using namespace std;int main() {//int heads = 23, f ...

  9. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

  10. 【Matlab电力负荷预测】粒子群优化支持向量机短期电力负荷预测【含GUI源码 751期】

    一.代码运行视频(哔哩哔哩) [Matlab电力负荷预测]粒子群优化支持向量机短期电力负荷预测[含GUI源码 751期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 ...

最新文章

  1. laravel ajax ip,怎么在Laravel中利用AJAX动态刷新部分页面
  2. 【渝粤教育】 国家开放大学2020年春季 2710蔬菜栽培技术 参考试题
  3. LeetCode 804. 唯一摩尔斯密码词(哈希+set)
  4. 字符串匹配算法_4月16日活动预告|字符串匹配算法解析
  5. Golang 的 “omitempty” 关键字略解
  6. 小米这个系列绝了!7款之后再添新机,完全分不清
  7. 杭电1285确定比赛名次
  8. 串口485接法图_RS485通讯的正确接线方式介绍
  9. 典型三种近场通信的特点以及未来趋势
  10. 漫画 | 前端发展史的江湖恩怨情仇
  11. Windows服务器tomcat日志拆分(cronolog )
  12. H3C S6520 配置arp static
  13. 海康威视监控云存储服务器,监控设备,云存储服务器,安防监控—年轻人安防官网...
  14. latex解决存在/任意/非符号如何打
  15. LeetCode:逆波兰式;
  16. cesium 鼠标点击pick与drillPick的区别
  17. 【教学】深度学习小项目汇总_含源代码_包运行
  18. 怎样选择步进电机和驱动器,计算方式
  19. java实现.费诺编码_使用递归算法编写的费诺编码
  20. 1214. 波动数列

热门文章

  1. 20165234 《Java程序设计》第八周学习总结
  2. 修改PostgreSQL数据库的默认用户postgres的密码
  3. Cogs 647. [Youdao2010] 有道搜索框(Trie树)
  4. ElasticSearch 2 (11) - 节点调优(ElasticSearch性能)
  5. @JVM垃圾收集器种类
  6. slitax 制定iso
  7. [转]在Sql Server中将字符串分割成表格数据示例
  8. holotoolkit 客户端与服务器架构的建立
  9. Atitit 前端性能提升方案 目录 1. 优化分类 2 1.1. ,第一类是页面级别的优化, 2 1.2. 第二类则是代码级别的优化, 2 1.3. 前端性能优化的七大手段,包括减少请求数量、减小
  10. Atitit 研发管理之道 attilax总结 艾龙 著 研发管理 1 简介 1 基本理念 2 基本原则 2 内容 3 团队建设 4 流程设计 4 成本管理 4 项目管理 4 绩效管理 4 风险管理