5.4求解非凸非线性规划

news/2024/10/11 19:38:50
import numpy as np
from scipy.optimize import minimize# 定义目标函数
def objective(x):return -np.sum(np.sqrt(x))  # 注意:scipy的minimize默认是最小化问题,所以这里取负号# 定义约束条件
constraints = [{'type': 'ineq', 'fun': lambda x: 10 - x[0]},  # x[0] <= 10{'type': 'ineq', 'fun': lambda x: 20 - (x[0] + 2 * x[1])},  # x[0] + 2*x[1] <= 20{'type': 'ineq', 'fun': lambda x: 30 - (x[0] + 2 * x[1] + 3 * x[2])},  # x[0] + 2*x[1] + 3*x[2] <= 30{'type': 'ineq', 'fun': lambda x: 40 - (x[0] + 2 * x[1] + 3 * x[2] + 4 * x[3])},  # x[0] + 2*x[1] + 3*x[2] + 4*x[3] <= 40{'type': 'ineq', 'fun': lambda x: 1000 - sum((100 - i) * x[i-1] for i in range(1, 101))}  # 加权求和小于等于1000
]# 初始猜测值
x0 = np.zeros(100)# 确保变量是非负的
bounds = [(0, None) for _ in range(100)]# 调用minimize函数,并设置更大的迭代次数限制
options = {'maxiter': 1000}  # 增加迭代次数限制
result = minimize(objective, x0, method='SLSQP', bounds=bounds, constraints=constraints, options=options)# 输出结果
if result.success:print("最优值为:", -round(result.fun, 4))print("最优解为:\n", np.round(result.x, 4))
else:print("问题未找到最优解,状态为:", result.message)
print("学号:3008")

由于题目是非线性非凸规划问题,目标函数求最大化,我们转换成求最小化

导入库from scipy.optimize import minimize

结果如下

 

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

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

相关文章

CentOS系统安全配置

一、账户安全及权限 禁用root以外的超级用户禁用root以外的超级用户 1.检测方法:点击查看代码 cat /etc/passwd 查看口令文件,文件格式如下 login_name:password:user_ID:group_ID:comment:home_dir:command 若user_ID=0,则该用户拥有超级用户的权限。查看此处是否有多…

基于最小二乘递推算法的系统参数辨识matlab仿真

1.程序功能描述 基于最小二乘递推算法的系统参数辨识。对系统的参数a1,b1,a2,b2分别进行估计,计算估计误差以及估计收敛曲线,然后对比不同信噪比下的估计误差。 2.测试软件版本以及运行结果展示MATLAB2022a版本运行 3.核心程序for i=(LEN0+4):LENz(i,1)=-A1*z(i-1,1)…

快乐数学7数学常数e

7 数学常数e 亦称自然常数、自然底数,或是欧拉数(Eulers number),是无理数的数学常数,以瑞士数学家欧拉命名;还有个较少见的名字纳皮尔常数,用来纪念苏格兰数学家约翰纳皮尔引进对数。它是一个无限不循环小数,数值约是(小数点后20位,https://oeis.org/A001113):7.1…

使用e【charts报错】

错误代码 <template><h1>home</h1><div id="main" style="width: 600px;height:400px;"></div> </template><script setup> import {onMounted} from vue; import * as echarts from echarts; // 确保正确导入 …

10.11 模拟赛(云智计划 模拟测#26)

S---【云智计划】---6月23日---模拟测#26 div1【补题】 - 比赛 - 梦熊联盟 (mna.wang) S---【云智计划】---6月23日---模拟测#26 div2【补题】 - 比赛 - 梦熊联盟 (mna.wang) 复盘 A。看到 \(n\) 为偶数思路秒出。10min 过样例。 B。好像不太会做啊。模拟了样例 2,猜出了一个很…

1.网页制作(✓)

2024年国庆期间,窝在宿舍七天,就把我之前和同学合伙做的红色网页修改上传到Github,感觉还行,🤣🤣🤣 复习回顾html,css,javascript的一些相关前端技术,做的过程中,感谢chatGPT。问了一堆问题,感谢有你,(❁◡`❁)ヾ(≧▽≦*)o

能让所有人都看懂的架构图

一、引言在当今复杂的技术和业务环境中,架构图成为了沟通和理解系统结构的重要工具。无论是软件开发、企业架构规划还是项目管理,架构图都扮演着关键的角色。然而,很多时候我们会发现,一些架构图让人摸不着头脑,难以理解其真正的含义和意图。那么,如何设计出能让所有人都…

20222311 2024-2025-1 《网络与系统攻防技术》实验一实验报告

20222311 2024-2025-1 《网络与系统攻防技术》实验一实验报告 1.实验内容 本次实验主要内容为 BOF 注入攻击,任务如下:掌握反汇编及其指令修改程序的机器指令,从而实现 BOF 注入攻击注入一段 Shellcode,以实现 BOF 注入攻击2.实验过程 任务 1:修改可执行文件机器指令,改变…