python实现《直觉模糊集决策与对策分析方法》08直觉模糊数的矩阵对策解法
这是李登峰老师《直觉模糊集决策与对策分析方法》第九章支付值为直觉模糊数的矩阵对策及其解法。
第一种解法是截集解法,判断直觉模糊数a和b的大小,仅需要比较某一具体截集,而不必比较所有截集。相当于对两个直觉模糊数,套在同一个区间上比较大小。
因此基本思想是将直觉模糊数转化为截集形式,然后构造线性规划模型求解纳什均衡。
对于给出的算例进行独立重复实验。代码关键步骤有注释。
'''
'''
from scipy import optimize as op
import numpy as np
import pandas as pd
np.set_printoptions(suppress=True)
def getlinerx(a,b,l):c=np.array([(1+l)*0.25,(1+l)*0.25,(1-l)*0.25,(1-l)*0.25,0,0])A_ub=np.array([[1,0,0,0,-(175*(0.6-a)+180*a)/0.6,-(80*(0.9-a)+90*a)/0.9],[1,0,0,0,-(150*(0.6-a)+156*a)/0.6,-(175*(0.6-a)+180*a)/0.6],[0,0,1,0,-(190*(0.6-a)+180*a)/0.6,-(108*(0.9-a)+90*a)/0.9],[0,0,1,0,-(158*(0.6-a)+156*a)/0.6,-(190*(0.6-a)+180*a)/0.6],[0,1,0,0,-(180*(1-b)+175*(b-0.2))/0.8,-(90*(1-b)+80*(b-0.1))/0.9],[0,1,0,0,-(156*(1-b)+150*(b-0.1))/0.9,-(180*(1-b)+175*(b-0.2))/0.8],[0,0,0,1,-(180*(1-b)+190*(b-0.2))/0.8,-(90*(1-b)+100*(b-0.1))/0.9],[0,0,0,1,-(156*(1-b)+158*(b-0.1))/0.9,-(180*(1-b)+190*(b-0.2))/0.8]])B_ub=np.array([0,0,0,0,0,0,0,0])A_eq=np.array([[0,0,0,0,1,1]])B_eq=np.array([1])x5=(0,1)x6=(0,1)x1=(None,None)x2=(None,None)x3=(None,None)x4=(None,None)res=op.linprog(-c,A_ub,B_ub,A_eq,B_eq,bounds=(x1,x2,x3,x4,x5,x6))return res.x
def getlinery(a,b,l):c=np.array([(1+l)*0.25,(1+l)*0.25,(1-l)*0.25,(1-l)*0.25,0,0])A_ub=np.array([[-1,0,0,0,(175*(0.6-a)+180*a)/0.6,(150*(0.6-a)+150*a)/0.6],[-1,0,0,0,(80*(0.9-a)+90*a)/0.9,(175*(0.6-a)+180*a)/0.6],[0,0,-1,0,(190*(0.6-a)+180*a)/0.6,(158*(0.6-a)+156*a)/0.6],[0,0,-1,0,(100*(0.9-a)+90*a)/0.9,(190*(0.6-a)+180*a)/0.6],[0,-1,0,0,(180*(1-b)+175*(b-0.2))/0.8,(156*(1-b)+150*(b-0.1))/0.9],[0,-1,0,0,(90*(1-b)+80*(b-0.1))/0.9,(180*(1-b)+175*(b-0.2))/0.8],[0,0,0,-1,(180*(1-b)+190*(b-0.2))/0.8,(156*(1-b)+150*(b-0.1))/0.9],[0,0,0,-1,(90*(1-b)+100*(b-0.1))/0.9,(180*(1-b)+190*(b-0.2))/0.8]])B_ub=np.array([0,0,0,0,0,0,0,0])A_eq=np.array([[0,0,0,0,1,1]])B_eq=np.array([1])x5=(0,1)x6=(0,1)x1=(None,None)x2=(None,None)x3=(None,None)x4=(None,None)res=op.linprog(c,A_ub,B_ub,A_eq,B_eq,bounds=(x1,x2,x3,x4,x5,x6))return res.x
if __name__ == '__main__':print(pd.DataFrame([getlinerx(0,1,0.1),getlinerx(0.1,0.8,0.1),getlinerx(0.2,0.7,0.1),getlinerx(0.3,0.6,0.1),getlinerx(0.4,0.5,0.1),getlinerx(0.5,0.3,0.1),getlinerx(0.6,0.2,0.1)]))print(pd.DataFrame([getlinery(0,1,0.1),getlinery(0.1,0.8,0.1),getlinery(0.2,0.7,0.1),getlinery(0.3,0.6,0.1),getlinery(0.4,0.5,0.1),getlinery(0.5,0.3,0.1),getlinery(0.6,0.2,0.1)]))
github仓库在https://github.com/rivendelltom/decision-making-study
第二种方法是加权均值面积解法。基本思想是分别求出隶属度和非隶属度的面积,然后使用线性加权的方法,将隶属度和非隶属度结合起来成为一个目标进行求解。
加权均值面积综合反映了直觉模糊数的隶属度和非隶属度在不同置信水平上的信息。有些决策者比较关心隶属度程度,有些决策者比较关心非隶属度程度,这样可以根据其偏好信息选取适当的加权值。算例很简单没有实现。
python实现《直觉模糊集决策与对策分析方法》08直觉模糊数的矩阵对策解法相关推荐
- python实现《直觉模糊集决策与对策分析方法》01基本理论与算子
最近准备开一个系列python实现李登峰老师的<直觉模糊集决策与对策分析方法>.一方面是自己学习需要,通过独立重复实验实现书中的算例,另一方面是直觉模糊方面的代码基本无人涉猎,希望通过自己 ...
- 直觉模糊有计算机知识嘛,基于直觉模糊集理论的IDS方法研究-计算机科学.PDF
基于直觉模糊集理论的IDS方法研究-计算机科学 第 卷 第 期 计 算 机 科 学 45 11A Vol.45No.11A 年 月 2018 11 COMPUTER SCIENCE Nov.2018 ...
- python计算商品总价_GitHub - ideaOzy/data_analysis: 基于Python的南京二手房数据采集及可视化分析...
基于Python的南京二手房数据采集及可视化分析 1 内容简介 首先通过爬虫采集链家网上所有南京二手房的房源数据,并对采集到的数据进行清洗:然后,对清洗后的数据进行可视化分析,探索隐藏在大量数据背后的 ...
- python处理excel的优势-SAS、R、SPSS、python、excel五大软件的比较优势分析
SAS.R.SPSS.python.excel五大软件的比较优势分析 一.SAS软件 SAS是全球最大的软件公司之一,是由美国NORTH CAROLINA州立大学1966年开发的统计分析软件.SAS把 ...
- python生存曲线_用户行为与生存分析
生存分析的来历 生存分析(Survival Analysis)来源于基础医学领域,最早用来研究各种治疗方案对病人寿命的影响.而寿命则用一个end event(死亡)的方式衡量.基本定义如下: T为标记 ...
- 【毕业设计_课程设计】基于Python的南京二手房数据采集及可视化分析
文章目录 0 项目说明 1 内容简介 2 应用技术介绍 3 数据采集 3.1 数据清洗 4 数据可视化 5 项目工程 0 项目说明 基于Python的南京二手房数据采集及可视化分析 提示:适合用于课程 ...
- 基于Python的旅游景点的数据采集与分析的研究
在旅游景点不断扩张,本基于Python的旅游景点的数据采集与分析系统按照软件开发方法进行研究,对系统先进行需求分析,确定系统必须做什么,进而进行系统设计,设计出满足需求的新系统,最后才是系统功能实现以 ...
- 数据清洗python实现箱线图_GitHub - nonefirst/data_analysis: 基于Python的南京二手房数据采集及可视化分析...
基于Python的南京二手房数据采集及可视化分析 1 内容简介 首先通过爬虫采集链家网上所有南京二手房的房源数据,并对采集到的数据进行清洗:然后,对清洗后的数据进行可视化分析,探索隐藏在大量数据背后的 ...
- python网页结构分析_GitHub - Vogdhsaj/data_analysis: 基于Python的南京二手房数据采集及可视化分析...
基于Python的南京二手房数据采集及可视化分析 1 内容简介 首先通过爬虫采集链家网上所有南京二手房的房源数据,并对采集到的数据进行清洗:然后,对清洗后的数据进行可视化分析,探索隐藏在大量数据背后的 ...
最新文章
- MetaPhlAn2-增强版宏基因组分类谱工具
- 微软撤回了开放面部识别数据集,出于法律原因
- python开发微信小程序-Python 开发者的微信小程序开发实践
- Spring任务调度之Spring-Task
- Topshelf 学习 跨平台
- matlab FAQ
- 【Protocol Buffer】Protocol Buffer入门教程(二):消息类型
- (旧)走遍美国——(三、文化2)
- python编程发展_编程的发展史及Python简介
- mysql myisam 分表_mysql myisam简单分表设计
- 华为招聘公关总监:接触近10位路透资深记者 年薪高达20万美元
- 学成在线案例(完整代码)
- 搜狗词库合集分享_Rime小狼毫
- 怎样配置 Docker IPv6 ?
- 2022-11-26 linux 通过blocking_notifier_chain_register、blocking_notifier_call_chain 接收温度变化信息控制风扇
- 最常见的几种手机快充方式和原理
- 目前Java开发人员需求大吗 Java就业方向是什么
- ESP8266串口wifi模块 NodeMCU Lua V3物联网开发板 CH340上传程序不显示
- 解决K8S中Pod无法正常Mount PVC的问题
- Excel柱状图一个系列中各个值如何单独设置误差线
热门文章
- 1278 相离的圆(任务调度,贪心)
- React的核心概念—— Jsx、 Component、 Props、 Refs、 State
- android内存显示大小不一样,对Android很重要!手机运行内存真的越大越好吗?
- Java----线程学习(多线程)
- win7下l2pt/sec 的789报错解决
- 2019年1月2日申请美国F1学生签证记录
- 苹果手机2019年什么时候出新款_[创立24周年]焕新,不换我初心 因强大而简单.智者,驭时而进 - 手机数码电玩维修...
- linux的系统监视器图片_用Jetson Nano构建一个价值60美元的人脸识别系统
- 嵌入式存储封装技术SiP、SOC、MCP、PoP的区别
- 【最小栈c++】设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈