百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python数学建模系列(三):规划问题之非线性规划

off999 2024-11-24 20:13 33 浏览 0 评论

若数学公式显示有问题,可以参考:Python数学建模系列(三):规划问题之非线性规划

非线性规划

非线性规划可以简单分两种,目标函数为凸函数or非凸函数

凸函数的非线性规划,比如,有很多常用库完成,比如cvxpy

非凸函数的非线性规划(求极值),可以尝试以下方法:

  • 纯数学方法,求导求极值
  • 神经网络、深度学习(反向传播算法中链式求导过程)
  • scipy. optimize. minimize
scipy.optimize.minimize(fun,x0,args=(),method=None,jac=None,hess=None,hessp=None,bounds= None,constaints=() , tol= None,Callback= None, options=None)

fun:求最小值的目标函数
args:常数值
constraints :约束条件
method:求极值方法,一 般默认。
xO:变量的初始猜测值,注意minimize是局部最优

例题 - 1

计算1/x + x 的最小值

from scipy.optimize import minimize
import numpy as np

def fun(args):
    a = args
    v = lambda x:a/x[0] + x[0]
    return v

args = (1)
x0 = np.asarray((2))
res = minimize(fun(args), x0, method='SLSQP')
res

运行结果

例题 - 2

计算的最小值,其中、、范围在0.1 到 0.9 之间

# 运行环境 Vs Code
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):
    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] + x2max},\
        {'type':'ineq','fun':lambda x:x[2] - x3min},\
        {'type':'ineq','fun':lambda x:-x[2] + x3max})
    return cons

args = (2,1,3,4)
args1 = (0.1, 0.9,0.1, 0.9,0.1, 0.9)
cons = con(args1)

x0 = np.asarray((0.5,0.5,0.5))
res = minimize(fun(args), x0, method='SLSQP',constraints=cons)
res.fun,res.success,res.x,res.status

# 结果
(-0.773684210526435, True, array([0.9, 0.9, 0.1]), 0)

结语

学习来源:B站及其课堂PPT,对其中代码进行了复现

链接:「链接」

希望对您有所帮助,如有错误欢迎小伙伴指正~

相关推荐

系统iso怎么安装(系统iso怎么安装应用)

ISO系统安装详细教程步骤如下:1.准备所需材料:一台符合系统要求的计算机、ISO系统文件、可启动的USB驱动器或光盘、系统激活密钥(如果需要的话)。2.制作启动盘:如果你使用USB驱动器作为启动...

在微软官网下载win10(在微软官网下载vc要钱吗)

windows1021H2这可能意味着您的电脑不满足下载或安装升级到Windows11的最低要求。如果您的电脑不符合要求,您将无法下载或安装Windows11。此外,这也可能表示电脑上的驱动程序...

dnf安全模式怎么解除最新办法

一、我们需要登录微信,然后使用微信关注“腾讯游戏安全中心”。最后进入公众号页面。二、进入公众号以后,我们点击游戏账号绑定。进入账号绑定页面。绑定我们自己的个人游戏账号。三、进入游戏账号绑定操作页面以后...

电脑怎么查看显卡配置信息(电脑怎么查看显卡配置信息win11)

查看电脑显卡配置方法 第一种方法是先我们应该进入我们的电脑硬件设备管理--在电脑设备管理里就可以看到电脑硬件的参数和型号了,根据这些参数就可以知道电脑配置怎么样。方法如下: 1、右键“我的电脑”--属...

全球浏览器排行榜前十名(世界前十浏览器)

微软公司的InternetExplore(IE),谷歌公司的Chorme,还有由Mozilla基金会开发的Firefox(火狐)浏览器。扩展:来自NetApplications的统计2013年8月...

安卓刷真正ios系统教程(安卓如何刷苹果系统)

1.拿到新iPhone手机后,开启手机然后按照提示进行开启设置,等到页面进入到“应用与数据”后,点击选择“从安卓设备转移数据”。2.在你的安卓手机上打开“转移到iOS”app,然后点击“继续”。阅读...

在线qq空间登录入口(qq空间在线登录在线使用)
  • 在线qq空间登录入口(qq空间在线登录在线使用)
  • 在线qq空间登录入口(qq空间在线登录在线使用)
  • 在线qq空间登录入口(qq空间在线登录在线使用)
  • 在线qq空间登录入口(qq空间在线登录在线使用)
如何添加新的打印机(如何安装打印机到电脑上)

点开电脑左下角开始,点击设备和打印机,点击添加打印机,链接方式不同选择相对于的端口如:1网络打印机选择IP/TCP端口输入ip创建端口后,浏览驱动选择安装。2usb接口的,选择usb虚拟端口,然后浏览...

qq空间说说赞免费网站(qq空间说说赞网站真人)

QQ空间里点赞的视频找不到,这是因为被隐藏,或者因为网页更新了,位置不同了。QQ空间点赞的前置图标是QQ个性商城中的“个性赞”功能,具体使用方法:一、打开手机QQ,左滑出手机QQ侧边栏,点击打开“个性...

防火墙的作用是什么

防火墙作为访问控制设备,主要工作在OSI模型的三四层。防火墙主要基于IP报文进行检测,对端口进行限制。产品设计无需理解HTTP等应用层协议,所以也就决定了防火墙无法对HTTP通讯进行输入验证或者规则分...

虚拟机安装ghost xp(虚拟机安装Ubuntu)

先安装vmospro软件(文末有直装高级版)记得给足权限,这个软件相当是你物理手机里的另一款安卓手机。2、安装完软件我们需要在里面安装一个虚拟机,直接点添加虚拟机,这里有很多虚拟机可以选择,建议选7...

固态硬盘读取不出来了(固态硬盘 读不出来)

  1、您可以在开机的时候按下【F12】或者【F8】进入电脑快速引导菜单,查看是否有SSD的名称,您可以进入BIOS之后,将LaunchCSM设置为Enabled就可以;  2、如果是全新的硬盘是没...

分区合并到c盘(磁盘分区合并到c盘)

一、选择我的电脑并点击右键,选择管理菜单。二、选择储存——磁盘管理。三、以将新加卷g盘合并到c盘为例:选择G盘并单击右键呼出菜单,在菜单中选择删除卷菜单。四、点击“是”。点击c盘并单击右键。选择扩展卷...

下载万能钥匙自动连接wifi密码
  • 下载万能钥匙自动连接wifi密码
  • 下载万能钥匙自动连接wifi密码
  • 下载万能钥匙自动连接wifi密码
  • 下载万能钥匙自动连接wifi密码
免费ip转换器(ip转换器是干什么用的)

深度IP转换器软件由广州候胜科技有限公司开发的一款国内IP地址转换器软件深度IP转换器是一款动态IP和静态IP结合的IP地址修改软件,拥有全国城市节点固定IP线路5000加高速服务器IP,属于高匿名8...

取消回复欢迎 发表评论: