• 基于沙猫群优化算法的线性规划求解matlab程序


    基于沙猫群优化算法的线性规划求解matlab程序

    1 沙猫群优化算法

    沙猫的中文学名叫沙丘猫,俗名沙漠猫,与荒漠猫名字相似,但却是两种不同的猫科动物。沙猫生活在茫茫沙漠里,主要分布在分布于非洲北部,阿拉伯半岛中部和西南亚。沙猫的家园,是贫瘠的沙漠,严重缺水,温差很大,最高可达50多摄氏度,最低达到零下10摄氏度。沙猫体重在1.5-3.5公斤之间,比家猫还小,比黑足猫要大一点,成年的沙猫看上去也像一只幼猫,个子总也长不大。为了适应沙漠里恶劣的气候条件,沙猫使出了浑身解数,从身体结构到生存技能,都进化出恰到好处的作用。全身毛发是沙黄色的,眼角长有一条黄褐色的条纹,四肢上长有黑色条纹。毛发的颜色跟沙漠的颜色相近,当它卧在沙漠中不动,你就难以发现它。沙黄色的毛发是它的伪装保护色,还能帮助它捕猎。浓密的毛发帮助沙猫抵御夜晚零下的温度,就连脚趾间也长着毛发,覆盖了足垫,就像穿了毛鞋子,白天在被晒烫的沙子上行走,不怕热。大脑袋、大眼睛、大耳朵,让它看上去很呆萌,但其实它的大耳朵,让它拥有了格外好的听力,可以探测到沙土中猎物发出的细微声音,随时通过声音来辨别四周的环境。耳朵内侧长着浓密的白色毛发,可以抵挡风沙,尤其是沙尘暴来袭时,不让沙子吹进耳朵里。因为沙漠里非常干旱缺水,沙猫的泌尿系统,尽可能的少排尿液,所以沙猫可以长时间不饮水,仅从猎物身上获取水分就足够了。

    在这里插入图片描述
    沙漠里白天温度高得吓人,沙猫习惯待在植被下、石头下,或沙洞里,躲避高温。到了晚上,气温降下来了才出去捕食,在大约16平方公里的领地里行走,寻找猎物。沙猫会捕食沙鼠等小型啮齿类动物,以及小型鸟类,也会捕食各种爬行动物,如蜥蜴与蛇。话说,沙猫虽然体型小,长相呆萌且乖,但捕食时可凶猛了。沙猫擅长捕蛇,见到蛇类,就快速跑过去,以迅雷不及掩耳之势猛击蛇的头部,然后一口咬住蛇的后颈,锋利的牙齿一下子把蛇给咬断了,干脆利落,毫不拖泥带水。沙猫吃蛇就像吃辣条,就算是毒蛇它也不怕,将其猎杀后,一口一口慢慢吃着,享受美味。同是猫科动物的兔狲,看上去可凶了,但也只是捕鼠兔、旱獭吃。而沙猫捕蛇更简单粗暴,凶猛异常。正是凭着凶悍的捕蛇“手段”,沙猫被当地游牧民族称为“猎蛇者”,同时也坐稳了“沙漠小霸王”的宝座。不过,沙猫毕竟太娇小了,面对毒蛇它不怕,但是面对体型较大的蛇,它就要预估捕猎风险了,知道自己打不过,就溜之大吉。

    在这里插入图片描述
    根据沙猫的行为,将觅食分为两个阶段:搜索和攻击猎物。本文提出的算法(SCSO)就包括了这两个阶段,此外,还提出了一种机制来实现探索和利用阶段的平衡。沙猫群优化模拟了沙猫的两个主要行为:搜寻猎物和攻击猎物。

    2 线性规划算例
    2.1算例
    在这里插入图片描述
    2.2算例答案
    在这里插入图片描述

    3 沙猫群算法求解结果
    1)迭代曲线
    在这里插入图片描述

    2)求解答案
    在这里插入图片描述

    4 matlab程序
    1)主函数

    clc
    clear 
    close all
    
    SearchAgents_no=30;
    Max_iteration=200;
     
    Function_name=1;
    [lb,ub,dim,fobj]=Get_Functions_details(Function_name);
    [BsSCSO,BpSCSO,SCSO_cg_curve]=SCSO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
    %% 输出结果
    disp('最优解')
     BsSCSO
    disp('最优变量')
     BpSCSO
    %% 画图
    plot(SCSO_cg_curve)
    xlabel('迭代次数');
    ylabel('目标函数值');
    。。。。。。略
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
  • 相关阅读:
    基于Vue3+TS的Monorepo前端项目架构设计与实现
    高频知识汇总 |【计算机网络】面试题汇总(万字长文通俗易懂)
    hitcontraining_uaf
    【ARM AMBA AXI 入门 12 -- AXI协议中的 WLAST 与 RLAST】
    精品Python协同过滤的新闻资讯推荐系统-可视化大屏
    python 生成html文件并端口展示
    Effective Modern C++[实践]->优先使用 scoped enums,而非 unscoped enums
    Node学习七 —— 创建和控制外部进程
    【STM32】 相关寄存器总结
    uni-app:实现当前时间的获取,并且根据当前时间判断所在时间段为早上,下午还是晚上
  • 原文地址:https://blog.csdn.net/weixin_47365903/article/details/126777217