首页 > 编程语言 >数学建模__非线性规划Python实现

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

时间:2023-09-29 22:32:18浏览次数:40  
标签:__ cons Python args 建模 fun ineq type lambda


使用到的是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

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


标签:__,cons,Python,args,建模,fun,ineq,type,lambda
From: https://blog.51cto.com/u_14597003/7654069

相关文章

  • python生成词云图
    importwordcloudimportmatplotlib.pyplotaspltfromimageioimportimreadprint([1,2]+[3,4])#创建一个词云对象wc=wordcloud.WordCloud()img=imread(r'F:\PyCharm\test\bg.jpg')#要生成词云的文本text='''Whycanpre-trainedlanguagem......
  • 80道高频算法题Python版
    80道高频算法题来源于牛客网,这些答案都经过了我验证,可以复制粘贴后提交通过:掌握这80道题,99%的测试岗位算法考试都能通过。建议收藏后反复练习。本文为Python版本答案,对于Java版本答案,请在电子书《算法挑战》目录中查看。1、NC1大数加法:中等#计算两个数之和#@paramsstrin......
  • 浏览器内视频播放插件以edge为例
    针对浏览器内视频播放的扩展目录针对浏览器内视频播放的扩展插件介绍Tampermonkey增强脚本脚本使用场景安装教程插件介绍Tampermonkey是一款免费的浏览器扩展和最为流行的用户脚本管理器。虽然有些受支持的浏览器拥有原生的用户脚本支持,但Tampermonkey将在用户脚本管......
  • Java集合框架(部分)
    类图List:有序可重复集合特点1.元素允许重复2.元素有序(元素的顺序就是插入时的顺序)3.元素可以通过索引来访问或者设置{ArrayLIst:底层为数组,查询速度快,增删慢LinkedList:底层是链表,查询速度慢,增删快两者的优缺点,:效率高,线程不安全}Set:无序不可重复集合HashSet:底层为数组,......
  • [题解] CF1003E - Tree Constructing
    CF1003E-TreeConstructing题目传送门知识点:贪心题意给定\(n\)个顶点,问是否能够构造出一棵直径为\(d\)的树,且每个顶点的度数最多为\(k\)。思路我们要构造出一棵树,使得其直径长度一定为\(d\),那么我们可以先选择\(d+1\)个点,让这些点构成一条树链即可。接着,考虑......
  • 20230928
    //accommodate,bargain,concession,consider,dicker,exception,figure,haggle,induce,minimum,practically,atasacrificeaccommodate-容纳Toaccommodatemeanstoprovideaplaceorspaceforsomeoneorsomething.Itcanalsorefertoadjustingorad......
  • 20230929
    //accommodate,bargain,concession,consider,dicker,exception,figure,haggle,induce,minimum,practically,atasacrificeaccommodate-容纳Toaccommodatemeanstoprovideaplaceorspaceforsomeoneorsomething.Itcanalsorefertoadjustingorad......
  • Windows 每天定时执行 bat 脚本
    创建包含如下内容的bat文件:forfiles/p"."/s/m*.temp*/d-31/c"cmd/cdel@file"它会删除当前路径下的所有以.temp结尾的超过31天的旧文件(详见bat删除当前路径指定天数前的旧文件)。现在想每天中午12点定时执行该文件:打开任务计划程序选择左侧任务计划......
  • 痞子衡嵌入式:MCUBootUtility v5.3发布,利用XMCD轻松使能外部RAM
    --痞子衡维护的NXP-MCUBootUtility工具距离上一个大版本(v5.0.0)发布过去4个多月了,期间痞子衡也做过三个小版本更新,但不足以单独介绍。这一次痞子衡为大家带来了全新重要版本v5.3.x,这次更新主要是想和大家特别聊聊XMCD这个特性的支持。一、v5.1-v5.3更新记录--v5.1.......
  • 系统进入救援模式进行修复
    现象: 解决方案:(1)#journalctl查看原因   (2)可以看出是内存溢出导致进出救援模式,重启解决#/sbin/reboot-f (3)如果出现mountfailed的现象,就需要进行 umount-l/dev/sdX或者  umount-f/dev/sdX(4)检查文件系统xfs_repair-n/dev/sdX(5)修复文......