Web服务组合优化 基于改进哈里斯鹰算法的Web服务组合优化【Matlab代码22#】

news2024/11/25 1:57:14

文章目录

    • 【可更换其他算法,`获取资源`请见文章第7节:资源获取】
    • 1. Web服务
    • 2. QoS感知的Web服务组合
    • 3. 改进后的CHHO算法
      • 3.1 原始HHO算法
      • 3.2 CHHO算法
    • 4. 优化目标
    • 5. 部分代码展示
    • 6. 仿真结果展示
    • 7. 资源获取


【可更换其他算法,获取资源请见文章第7节:资源获取】


1. Web服务

Web 服务是一种跨编程语言和跨操作系统平台的远程调用技术。在Web服务中,统一称非功能属性集合是服务的服务质量(Quality-of-service,QoS)。常用的QoS属性值有:价格、响应时间、延迟时间、可靠性、可用性、吞吐量等。

2. QoS感知的Web服务组合

首先介绍两个概念:服务组合结构聚合QoS值

服务组合结构:目前主要包含四种基本的服务组合结构,分别是顺序结构、并行结构、选择结构和循环结构,如图1所示。
在这里插入图片描述

图1 四种服务组合结构的示意图

(1)顺序结构:严格按顺序执行,先执行 T i T_{i} Ti,再执行 T i + 1 T_{i+1} Ti+1
(2)选择结构:所有处于选择结构中的所有服务执行概率的总和值为1。
(3)并行结构:所有的服务同时执行,只有当所有的服务都同时执行后,服务流程才算结束。
(4)循环结构:一个或者多个服务被连续执行多次,直到满足一定的跳出条件。

聚合QoS值:PQoS是服务组合的聚合QoS值,它也是一个非功能质量属性集合,包括价格、响应时间、可靠性和可用性等不同的质量指标。QoS属性的内在物理含义决定了它们在不同的服务组合结构(顺序、选择、并行和循环)中具有不同的叠加方法。聚合QoS的计算方法具有结构的相关性。

例如,对于响应时间的QoS属性,顺序结构的组合服务是严格按照前后依此的执行模式,因此顺序结构下响应时间的聚合 QoS 值通过累加求和得到;而在并行结构的服务组合中,聚合响应时间的 QoS 值为并行分支中服务响应时间的最大值。
在这里插入图片描述

图2 几个典型的QoS属性的聚合函数

3. 改进后的CHHO算法

3.1 原始HHO算法

原始哈里斯鹰算法,可以参考HHO算法介绍。

3.2 CHHO算法

本文的CHHO算法将Logistic混沌映射与原始哈里斯鹰算法结合所得到。
Logistic映射是混沌映射的典型代表,它的数学形式比较简单,其表达式如下:
Y n + 1 ( t ) = b Y n ( 1 − Y n ) Y_{n+1}(t)=bY_{n}(1-Y_{n}) Yn+1(t)=bYn(1Yn)

式中, Y n ∈ [ 0 , 1 ] Y_{n}\in [0,1] Yn[0,1] a ∈ [ 0 , 4 ] a\in [0,4] a[0,4]为Logistic参数。当 a a a接近4时, Y Y Y的取值范围是越接近平均地分布到整个 [ 0 , 1 ] [0,1] [0,1]区域。

4. 优化目标

本文web服务组合优化的目标是找到一组满足用户全局约束(响应时间和延迟时间最小)并最大化聚合QoS性能的抽象服务组合。因此,我们可以将其建模为混合整数规划问题。数学描述如下:
在这里插入图片描述

5. 部分代码展示

N=30; % 种群数量
T=50; % 最大迭代次数

abstract_service_num=5;  % 任务数 
concrete_service_num=70; % 每个任务可选的服务数

QWS2data=dividing_data(concrete_service_num,abstract_service_num,s1data);% rand dataset

% Runnpaoing the preprocessing method of Fuzzy Optimal Continuity Construction (FOCC). 
Preprocessing_QWS2data=pre_FOCC(QWS2data,4,1);  % FOCC(refer to Section.III.C)

% Running CHHO.
[Rabbit_Location,Rabbit_Energy,Rabbit_value,Curve]=CHHO(N,T,concrete_service_num,abstract_service_num,Preprocessing_QWS2data);

% print result
figure
plot(Curve,'r-')
xlabel('迭代次数');
ylabel('最优QoS值');
title('基于CHHO算法的QoS感知的web服务组合寻优')
legend('CHHO')

disp('The QoS values of best composition service [Response Time,Latency]:');
disp('Note:These values have been standardized(bigger is better).');
display(num2str(Rabbit_value));
display(['The csQos_fitness of best composition service by CHHO is: ', num2str(Rabbit_Energy)]);

6. 仿真结果展示

在这里插入图片描述
在这里插入图片描述

7. 资源获取

A资源获取说明.rar

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/566666.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

详解token已过期含义及解决方 token过期是否需要重新登录

详解token已过期含义及解决方 token过期是否需要重新登录Web应用和用户的身份验证息息相关,从单一服务器架构到分布式服务架构再到微服务架构,用户安全认证和授权的机制也一直在演进,下文对各个架构下的认证机制做个总结。单一服务器架构该架…

day19 - 使用高通滤波提取图像边缘

在OpenCV中,对于图像或者视频的处理都或多或少的会涉及傅里叶变换的概念。在数学上,傅里叶变换是指所有的波形都可以由一系列简单且频率不同的正弦曲线叠加得到。也就是说,人们所看到的波形都是由其他波形叠加得到的。这个概念对操作图像非常…

Linus Torvalds发布了第一个Linux内核6.4候选版本

导读自Linux内核6.3发布和下一个内核系列Linux 6.4的合并窗口开放以来,已经过去了一段时间,近日,Linus Torvalds发布了第一个RC(候选发布版)的里程碑,供公众测试。 为期两周的Linux内核6.4合并窗口现已关闭…

3D开发程序员,如何在程序中将GLB格式转OBJ

Aspose.3D 是一个功能丰富的游戏软件和计算机辅助设计(CAD)的API,可以在不依赖任何3D建模和渲染软件的情况下操作文档。API支持Discreet3DS, WavefrontOBJ, FBX (ASCII, Binary), STL (ASCII, Binary), Universal3D, Collada, glTF, GLB, PLY…

微信小程序的基本使用以及安装教程

目录 一、使用微信开发者工具1、第一步先进行安装微信开发者工具2、使用方式安装完成后的使用步骤项目的大概界面 二、注册小程序账号在此处申请AppID,用于微信开发者工具的建立项目使用 三、使用微信官方文档 一、使用微信开发者工具 1、第一步先进行安装微信开发…

ASP-IIS中间件文件解析与写权限

ASP-IIS中间件文件解析与写权限 IIS文件解析 IIS 6 解析漏洞 1、该版本默认会将*.asp;.jpg 此种格式的文件名,当成Asp解析 2、该版本默认会将*.asp/目录下的所有文件当成Asp解析。 如:logo.asp;.jpg xx.asp/logo.jpgIIS 7.x 解析漏洞 在一个文件路…

Dubbo 3.2.1预览版发布,很多方面有改变

导读Dubbo 3.2.1预览版发布,很多方面有改变,比如:错误修正,代码增强,依赖性升级等。 改变了什么 功能介绍 添加追踪启动器 && 添加 zipkin 自动配置 by conghuhu in #12013QoS支持匿名命令允许列表 by Album…

2023智源大会议程公开 | 基于认知神经科学的大模型

2023年,人工智能新研究、新系统、新产品竞放——我们即将见证另一场有关智能的惊叹演化。6月9日,2023北京智源大会,将邀请这一领域的探索者、实践者、以及关心智能科学的每个人,共同拉开未来舞台的帷幕,你准备好了吗&a…

设备远程运维,实现设备管理智能化!

一、设备管理现状 设备运行状况:设备分布各地,无法远程监测设备运行参数、故障情况,对名下设备的运营情况懵然不知,能耗产量等关键数据无从知晓。 设备运营服务:当设备发生故障时,无法判断故障原因&#x…

IDEA重装后打开的一些设置

文章目录 1. 支持正版&科学永久2. 打开本地项目成功运行2. 修改IDEA的一些基本设置 1. 支持正版&科学永久 略(狗头)~ 2. 打开本地项目成功运行 刚打开项目,application是红叉状态点击Edit Configuration,配置好settings.xml和mave…

分布式项目10. js中src进行服务器之间的访问和优化使用jsonp的ajax请求处理访问

一般使用ajax来访问不同服务器的数据&#xff0c;可行吗&#xff1f; 做个实验&#xff1a; 第一步&#xff1a;在本服务器中使用ajax技术访问本服务器数据 <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>测试JSON跨域…

【SpringMVC】SpringMVC的入门程序——HelloWorld(有点详细)

介绍 这里是小编成长之路的历程&#xff0c;也是小编的学习之路。希望和各位大佬们一起成长&#xff01; 以下为小编最喜欢的两句话&#xff1a; 要有最朴素的生活和最遥远的梦想&#xff0c;即使明天天寒地冻&#xff0c;山高水远&#xff0c;路远马亡。 一个人为什么要努力&a…

GP05丨多因子IC对冲

量化策略开发&#xff0c;高质量社群&#xff0c;交易思路分享等相关内容 大家好&#xff0c;今天我们分享股票社群第5期量化策略——多因子IC对冲。 在前几期中&#xff0c;我们分享了GP01多因子、ETF轮动策略及Plus版本、网格等等。本期我们继续分享多因子策略。 策略背景与…

大数据治理入门系列:数据血缘关系

血缘关系在人类社会中扮演着重要角色。大多数家庭是基于血缘关系形成的&#xff0c;而家庭作为社会的基本单元&#xff0c;对维系社会稳定发挥着重要关系。其实&#xff0c;数据之间也存在类似的血缘关系。数据从产生、加工、流转&#xff0c;一直到消亡&#xff0c;每个环节必…

为什么要分库分表?

不急于上手实战 ShardingSphere 框架&#xff0c;先来复习下分库分表的基础概念&#xff0c;技术名词大多晦涩难懂&#xff0c;不要死记硬背理解最重要&#xff0c;当你捅破那层窗户纸&#xff0c;发现其实它也就那么回事。 什么是分库分表 分库分表是在海量数据下&#xff0…

【新星计划·2023】TCP协议与UDP协议讲解

前言 对于TCP协议与UDP协议&#xff0c;大家应该都有所耳闻。我们常用的网络通讯&#xff0c;比如浏览网页&#xff0c;软件聊天&#xff0c;都是通过这两种协议来进行数据传输的&#xff0c;下面我就来给大家讲解一下这两个协议。 一、什么是TCP、UDP TCP(Transmission Con…

什么是接地电阻?如何测量防雷接地电阻

防雷工程里经常出现“接地”这个词。 这种称为“接地”的布线&#xff08;施工&#xff09;旨在减少电能泄漏到使用电力的设备等原始路线外&#xff08;泄漏时&#xff09;对周围财产和人体的影响。 此外&#xff0c;为了可靠地工作设备&#xff0c;以检测漏电断路器&#xff…

股东刚减持,股价却起飞?用Python量化A股解禁数据,利空出尽是利好? | 邢不行

2019年6月11日&#xff0c;宁德时代上市一周年之际&#xff0c;有45%的股票迎来了解禁。 这些由大股东、高管、早期投资者持有的股份&#xff0c;原先无法交易&#xff0c;但从这一天起就可以自由卖出了。 很多人出于对解禁后巨大卖盘的担忧纷纷提前卖出&#xff0c;导致宁德时…

linux查看服务端口命令大全

目录&#xff1a; 零、 linux怎么查看所有服务端口一、常用命令二、lsof -i 需要 root 用户的权限来执行三、netstat命令四、扩展资料 零、 linux怎么查看所有服务端口 1、打开linux系统&#xff0c;在linux的桌面的空白处右击。 2、在d出的下拉选项里&#xff0c;点击打开终端…

责任链模式-参数校验

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、责任链模式概念二、责任链模式主要应用场景三、责任链模式的优点四、责任链模式的缺点五、场景案例&#xff1a;参数校验1.UML图2.代码实现2.1.请求体定义2…