数学建模__非线性规划Python实现

news2024/11/13 17:54:49

使用到的是scipy库


线性规划指的是目标模型均为线性,除此以外的都是非线性规划,使用scipy提供的方法对该类问题进行求解。

from scipy.optimize import minimize
import numpy as np

#定义目标函数
def fun(args):
    a,b,c,d = args
    v = lambda x: (a+x[0])/ (b+x[1]) - c*x[0] + d*x[2]
    return v

#定义约束条件
def con(args):
    # 约束条件 分为eq 和ineq
    # eq表示 函数结果等于0 ; ineq 表示 表达式大于等于0  

    x1min,x1max,x2min,x2max,x3min,x3max = args
    cons = ({'type':'ineq', 'fun': lambda x : x[0] - x1min},
            {'type':'ineq', 'fun': lambda x : -x[0] + x1max},
            {'type':'ineq', 'fun': lambda x : x[1] - x2min},
            {'type':'ineq', 'fun': lambda x : -x[1] + x2min},
            {'type':'ineq', 'fun': lambda x : x[2] - x3min},
            {'type':'ineq', 'fun': lambda x : -x[2] + x3min},

    )

    return cons

#定义常量值
args = (2,1,3,4)


#设置变量约束条件
args2 = (0.1,0.9,0.1,0.9,0.1,0.9)
cons = con(args2)


#设置初始随机值
x0 = np.asarray((0.5,0.5,0.5))
res = minimize(fun(args), x0, method='SLSQP', constraints=cons)
res

在这里插入图片描述

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

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

相关文章

免费和开源的机器翻译软件LibreTranslate

什么是 LibreTranslate ? LibreTranslate 免费开源机器翻译 API,完全自托管。与其他 API 不同,它不依赖于 Google 或 Azure 等专有提供商来执行翻译。它的翻译引擎由开源 Argos Translate 库提供支持。 这个软件在 2022 年 3 月的时候折腾过&…

Vue 3的革命性新特性:深入了解Composition API

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

数据结构与算法——8.二分查找

这篇文章我们来讲一下数据结构与算法中的二分查找 目录 1.介绍 1.1背景介绍 1.2算法介绍 2.实现 3.几个问题 4.算法改进 4.1左闭右开版 4.2 平衡版 4.3 Leftmost版 4.4 Leftmost返回 i 版 5.小结 1.介绍 首先,我们来介绍一下二分查找 1.1背景介绍 需…

Marmof:AI写作助手文章内容生成器工具

【产品介绍】 名称 Marmof 具体描述 Marmof是一个AI驱动的写作平台,可以帮助你快速创建原创、无抄袭的网站、邮件、广告和博客内容。每月提供5000字的免费额度,永久有效。拥有超过49种强大的工具,可以为各种平台生成吸引人的内容…

界面组件DevExpress WinForms v23.1亮点 - 全新升级HTML CSS模板

DevExpress WinForms拥有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜…

Jupyter杂症二:目录不显示或展示不全

文章目录 序言一、问题表象二、解决及思考 有些问题,解法还真的是莫名其妙,就如同拍了一下电视机就好了。。。。。难道是在拍的时候,我们传了内力给了计算机? 序言 一、问题表象 二、解决及思考 用鼠标按住左键,在空…

vim,emacs,verilog-mode这几个到底是啥关系?

vim:不多说了被各类coder誉为地表最强最好用的编辑器;gvim,gui vim的意思; emacs:也是一个编辑器,类似vscode; vim在使用的时候为了增强其功能,有好多好多插件,都是以.…

Brother CNC联网数采集和远程控制

兄弟CNC IP地址设定参考:https://www.sohu.com/a/544461221_121353733没有能力写代码的兄弟可以提前下载好网络调试助手NetAssist,这样就不用写代码来测试连接CNC了。 以上是网络调试助手抓取CNC的产出命令,结果有多个行string需要自行解析&…

应用商店备案登记流程解析

​ 引言: 随着智能手机的普及和移动互联网的发展,移动应用程序(App)已成为人们日常生活中不可或缺的一部分。在开发一个App之后,开发者需要将其上传到应用商店进行审核和上架。然而,在上架之前&#xff0…

【云计算】虚拟私有网络 VPC

虚拟私有网络 VPC 1.VPC 简介1.1 VPC 相关基本概念1.2 其他相关基本概念 2.VPC 通信场景2.1 VPC 内部互通2.2 VPC 间互通2.2.1 对等连接2.2.2 Transit Gateway 或者云联网 2.3 访问 Internet2.3.1 Internet 网关2.3.2 NAT 网关 2.4 访问本地网络2.4.1 VPN 连接2.4.2 专线接入2.…

完美的分布式监控系统 Prometheus与优雅的开源可视化平台 Grafana

1、之间的关系 prometheus与grafana之间是相辅相成的关系。简而言之Grafana作为可视化的平台,平台的数据从Prometheus中取到来进行仪表盘的展示。而Prometheus这源源不断的给Grafana提供数据的支持。 Prometheus是一个开源的系统监控和报警系统,能够监…

ChatGPT在职业规划中的智能助手

随着科技的不断发展,人工智能(AI)正逐渐成为我们日常生活的一部分。ChatGPT作为一种智能语言模型,可以在职业规划中充当智能助手的角色。本文将探讨ChatGPT在职业规划中的应用,以及它如何成为未来工作的智能伙伴。 首先…

69、Spring Data JPA 的 @Query查询 和 命名查询

Query查询 和 命名查询的区别: 命名查询与直接用Query来定义查询的本质是一样,只不过它们定义SQL或JPQL语句的位置不同。 直接用 Query来定义查询 ,写SQL或JPQL语句的位置在 DAO 组件, 命名查询,写SQL或JPQL语句的位置…

面试题五:computed的使用

题记 大部分的工作中使用computed的频次很低的,所以今天拿出来一文对于computed进行详细的介绍,因为Vue的灵魂之一就是computed。 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护…

javascript检测网页缩放演示代码

一、为什么会提示浏览器显示比例不正常? 在网上冲浪,有时在打某个网站时,会提示你的浏览器显示比例不是100%,建议你将浏览器显示比例恢复为100%,以便获得最佳显示效果。 二、检测网页缩放比例的方法 那么这些网站是如…

【MATLAB第75期】#源码分享 | 基于MATLAB的不规则间隔数据插值实现时间序列数据扩充(更新中)

【MATLAB第75期】#源码分享 | 基于MATLAB的不规则间隔数据插值实现时间序列数据扩充 代码 %% 清空环境变量 warning off % 关闭报警信息 close all % 关闭开启的图窗 clear % 清空变量 clc % 清空命令行%%…

《数据结构、算法与应用C++语言描述》使用C++语言实现二维数组三对角矩阵

《数据结构、算法与应用C语言描述》使用C语言实现二维数组三对角矩阵 三对角矩阵定义 如下图所示: 代码实现 _10tridiagonalMatrix.h 模板类 /* Project name : allAlgorithmsTest Last modified Date: 2022年8月13日17点38分 Last Version: V1.0 Descr…

栈与队列经典题目——用队列实现栈

本篇文章讲解栈和队列这一部分知识点的经典题目:用栈实现队列、用队列实现栈。对应的题号分别为:Leetcode.225——用队列实现栈,。 在对两个题目进行解释之前,先回顾以下栈和队列的特点与不同: 栈是一种特殊的线性表…

Linux四种I/O模型

一.四种模型 阻塞式IO,非阻塞式IO,信号驱动IO,IO多路复用 二.阻塞式IO 特点:最简单,最常用,效率低 阻塞I/O 模式是最普遍使用的I/O 模式 系统默认状态,套接字建立后所处于的模式就是阻塞I/O 模式…

C语言 模拟计算器 版本更迭

简单版 ​ //模拟计算器: void menu() {printf("*****************************************\n");printf("************ 1.add 2.sub ***********\n");printf("************ 3.mul 4.div ***********\n");printf("**…