清华MEM作业-利用管理运筹学的分析工具slover求解最优解的实现 及 通过使用文件或者套节字来识别进程的fuser命令

news2024/9/19 15:28:27

一、清华MEM作业-利用管理运筹学的分析工具slover求解最优解的实现

        最近又接触了一些线性求解的问题,以前主要都是在高中数学里接触到,都是使用笔算,最后通过一些函数式得出最小或者最大值,最近的研究生学业上接触到了一个Excel solver分析工具,对这种线性求最优解的问题感觉使用起来真是得心应手。在使用这个工具前,EXCEL里需要先装上solver工具,装起来很也简单,网上搜一下。

        另外就是需要知道SUMPRODUCT这个函数的使用,SUMPRODUCT是SUM方法的提升版,可以实现将两个长度相同的数组,每个对应的成员相乘最后求和,比如实现一个数组是含有3种水果的价格数组,一个是这三种水果各买多少斤的数组,SUMPRODUCT就可以实现一次性计算这三样水果总共需要付多少钱。

        solver适合题目:给定一些条件求最优解或者极值等。接下来我们就看一下下面这个线性规划的题目。关于某咨询公司对一些有孩子无孩子白天晚上的调查问题,题目截图如下:

不同家庭不同时间的调查费用如下表所示:

        使用solver求解前,我们需要将这些数据罗列显示在EXCEL上并对一些数据进行计算。EXCEL上的数据显示图以及功能函数图如下:

函数显示如下:

    绿色背景的数据是我们要求的最优解,蓝色的是我们的目标值,使这个成本最小。这些数据和公式到位后,我们就可以使用Solver进行规划求解,设定求解目标,设定变量和约束条件进行求解。绿色背景中就会自动计算出最优值出来,非常方便。我这里不方便截图,只留一个简单的笔记在这里。最优解计算出来之后,还可以进行敏感度分析,可以分析出各个因素的数据进行的变动对结果的影响。如下:

备注: 此为一次清华MEM作业,在此作个记录而已。

 二、通过使用文件或者套节字来识别进程的fuser命令

    fuser的作用是通过使用文件或者套节字来表示识别进程,fuser可以直接通过可执行文件或者pid文件查找到所有在使用它的进程,甚至还可以通过指定端口号查看哪些进程在占用。如下使用实例:

[hello@007 ~]# fuser /usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx:  9661e 18128e 18129e
#通过上面得到的进程ID查看进程
[hello@007 ~]# ps -ef | grep -E '9661|18128|18129'
root      9661     1  0 Mar20 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
www      18128  9661  0 Jun15 ?        01:16:23 nginx: worker process      
www      18129  9661  0 Jun15 ?        01:18:36 nginx: worker process      
root     19193 18035  0 12:06 pts/0    00:00:00 grep --color -E 9661|18128|18129
[hello@007 ~]# fuser /opt/modules/coreseek4.1/var/searchd_mysql.pid
/opt/modules/coreseek4.1/var/searchd_mysql.pid:  1920
#查看端口被哪些进程ID占用
[hello@007 ~]# fuser -n tcp 80       
80/tcp:               9661 18128 18129
[hello@007 ~]# fuser .
.:                   18035c 18749c

     fuser的参数是文件,但可以是文件名也可以是TCP、UDP端口号。上面的执行过程中可以看到通过nginx可执行文件识别进程时,后面还有e字符,而在使用fuser .识别进程时其后面带有c字符(显示当前几个终端登录将此作为工作目录),这些c/e之类的字符的意义是标志字符,每个进程号后面都跟随一个字母,该字母指示进程如何使用文件,其可有以下种类:

c:指示进程的工作目录。
e:指示该文件为进程的可执行文件(即进程由该文件拉起)。
f:指示该文件被进程打开,默认情况下f字符不显示。
F:指示该文件被进程打开进行写入,默认情况下F字符不显示。
r:指示该目录为进程的根目录。
m:指示进程使用该文件进行内存映射,抑或该文件为共享库文件,被进程映射进内存。

fuser可以在找到使用该文件的进程后,批量杀死这些进程,可以应用于有很多进程使用到了该文件,可以通过fuser一次杀掉所有进程,而不需要一个一个去kill。使用如下:

fuser -k -x -u -c 文件参数 或 fuser -kxuc 文件参数

 fuser命令可参数意义如下:

Show which processes use the named files, sockets, or filesystems.
    -a        display unused files too 显示命令行中指定的所有文件
    -c        mounted FS
    -f        silently ignored (for POSIX compatibility)
    -i        ask before killing (ignored without -k) 杀死进程前需要用户进行确认
    -k        kill processes accessing the named file 杀死访问指定文件的所有进程
    -l        list available signal names 列出所有已知信号名
    -m        show all processes using the named filesystems 指定一个被加载的文件系统或一个被加载的块设备
    -n SPACE  search in this name space (file, udp, or tcp) 选择不同的名称空间
    -s        silent operation
    -SIGNAL   send this signal instead of SIGKILL
    -u        display user IDs 在每个进程后显示所属的用户名
    -v        verbose output
    -V        display version information
    -4        search IPv4 sockets only
    -6        search IPv6 sockets only
    -         reset options

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

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

相关文章

C++入门基础知识50——【关于C++数字】之C++ 数学运算

成长路上不孤单😊【14后,C爱好者,持续分享所学,如有需要欢迎收藏转发😊😊😊😊😊😊😊!!!!&#xff…

C++string类相关OJ练习(2)

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 Cstring类相关OJ练习(2) 收录于专栏【C语法基础】 本专栏旨在分享学习C的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 1.反转字符串 …

录屏软件电脑,精选5款录屏神器推荐

嘿,朋友们!想象一下,你正在与好友分享你最新的游戏成就,或是与同事展示你的最新项目进展,但却发现文字描述无法完美呈现你的精彩瞬间。别担心,在这个数字化的时代,我们有着无数种方式记录和分享…

大型集团行业ITSM案例分析报告

一、项目背景 随着信息化建设的不断推进,大型集团的信息系统规模迅速扩大,业务系统对IT的依赖程度逐渐加深,IT网络应用系统的复杂度也随之增加。然而,相对滞后的运维服务体系却未能同步跟进,运维要求不断提高的同时&a…

SparkRA带你读论文 | 如何训练数据高效的 LLMs

简介 How to Train Data-Efficient LLMs 论文作者: Noveen Sachdeva, Benjamin Coleman, Wang-Cheng Kang, Jianmo Ni, Lichan Hong Ed H. Chi, James Caverlee, Julian McAuley, Derek Zhiyuan Cheng 论文链接: https://arxiv.org/pdf/2402.09668.pd…

Java CRM客户关系管理系统源码:基于Spring Cloud Alibaba与Spring Boot,专为成长型企业设计

项目名称:CRM客户关系管理系统 功能模块及描述: 一、待办事项 今日需联系客户:显示当日需跟进的客户列表,支持查询和筛选。分配给我的线索:管理分配给用户的线索,包括线索列表和查询功能。分配给我的客户…

Hive数据库与表操作全指南

目录 Hive数据库操作详解 创建数据库 1)语法 2)案例 查询数据库 1)展示所有数据库 (1)语法 (2)案例 2)查看数据库信息 (1)语法 (2&#…

【免费分享】嵌入式Linux开发板【入门+项目,应用+底层】资料包一网打尽,附教程/视频/源码...

想要深入学习嵌入式Linux开发吗?现在机会来了!我们为初学者们准备了一份全面的资料包,包括原理图、教程、课件、视频、项目、源码等,所有资料全部免费领取,课程视频可试看(购买后看完整版)&…

U盘提示需要格式化才能使用怎么办?教你轻松应对

U盘作为一种便捷的数据存储设备,广泛应用于日常工作和生活中。然而,有时我们会遇到U盘插入电脑后提示需要格式化才能使用的情况,这让人倍感焦虑,因为格式化往往意味着数据丢失。不过,在采取极端措施之前,我…

如何验证mos管好坏

用万用表的二极管档位测试,只有D()S(-)之间电压低于0.7v,其他任意两脚之间电压都是大于1.5V。这是正常的。

不限专业和工作经验,这个含金量巨高的IT证书,90%的大学生都不知道!

软考现在正在报名阶段,大学生们千万不要错过!这个IT证书的含金量巨高,对你的大学生涯乃至毕业后的职业规划都有帮助! 下面就来为大家详细讲解一番,速速码住! 1、软考报名条件 软考报名没有学历、资历、年龄…

【Python常用库_1】网络安全清洁专家——Bleach

前言: 😊😊😊欢迎来到本博客😊😊😊 🌟🌟🌟 本专栏主要分享常用的一些Python库,让工作学习事半功倍,适用于平时学习、工作快速查询等…

CPP多态

目录 前言 多态的概念 多态的定义及实现 多态的构成条件 虚函数 虚函数的重写 虚函数重写的两个例外 C11 override 和 final 重载、覆盖(重写)、隐藏(重定义)的对比 抽象类 接口继承和实现继承 多态的原理 虚函数表 多态的原理 动态绑定与静态绑定 单继承和多继…

Aspose.PDF功能演示:在 C# 中将 JPG 图像合并为 PDF

Aspose.PDF 是一款高级PDF处理API,可以在跨平台应用程序中轻松生成,修改,转换,呈现,保护和打印文档。无需使用Adobe Acrobat。此外,API提供压缩选项,表创建和处理,图形和图像功能&am…

网安新声 | 智能家居时代,用户隐私谁来守护

网安加社区【网安新声】栏目,汇聚网络安全领域的权威专家与资深学者,紧跟当下热点安全事件、剖析前沿技术动态及政策导向,以专业视野和前瞻洞察,引领行业共同探讨并应对新挑战的策略与可行路径。 近日,某知名品牌旗下的…

【初领妙道】一眼学会Redis之重点大纲

重点大纲 1. Redis基础2. Redis核心功能3. 高级特性4. 性能优化5. 高可用性6. 安全性7. 实战应用8. 监控与运维总结 Redis(Remote Dictionary Server)是一款开源的、高性能的键值存储系统,它支持多种数据结构,如字符串、列表、集合…

STL算法详细解剖——单纯数据处理函数

STL算法详细解剖——单纯数据处理函数 前言1.replace 替代函数值2.replace_copy 替代函数值3.replace_if 替代函数值4.replace_copy_if 替代函数值5.reverse 颠倒排序6.reverse_copy 颠倒排序7.rotate 将元素按某个中间值进行互换7.1.rotate 将元素按某个中间值进行互换8.roate…

hex文件转bin文件

一、简介 在进行MCU开发时,经常需要使用到hex和bin文件,这里总结几种hex转bin的方法。 二、MDK转换 很多的MCU开发,都会用到MDK,而MDK自身是可以执行批处理,来完成hex到bin文件的直接转化的。 见如下指令: fromelf --bin -o ..\..\output\@L.bin #L 这里解释一下上面指令…

音频在线转换mp3:学会这2个方法,拿捏音频转换

如今音频文件的格式转换变得越发重要。你是否曾因为无法在设备上播放特定格式的歌曲而感到困扰?你是否希望将原有的音频文件转换为更常见、更通用的mp3格式,以便在不同设备上畅快地品味音乐? 为了音频文件的顺利播放,我们需要学会…

SpringBoot 增量部署发布

一、背景介绍 由于项目依赖的jar越来越多,Springboot默认的打包方式是将整个项目打包成一个jar包,每次发布时,打包后的jar越来越大,更新一个很小的功能,需要将整个jar上传运行。这样效率太低了,考虑实现每…