python 提供了和matlab中fmincon类似的非线性规划函数,即scipy.optimize.minimize。
下面是一些参考:

https://blog.csdn.net/sinat_17697111/article/details/81534935

https://blog.csdn.net/weixin_45508265/article/details/112978943

https://www.jianshu.com/p/94817f7cc89b

下面是我使用到代码,目的是求一个矩阵里面的系数,使得一个函数表达式的值最小:

from process_data import process_data,BetPm,cal_accu
import sklearn
from sklearn import svm
from keras.utils.np_utils import to_categorical
import numpy as np
from scipy.optimize import minimize
..........
..........
def mapping(x,bba_val_2,i):matrix=np.array([[x[0],x[1],0,x[2],x[3]],[0,0,x[4],0,x[5]]])before_trans=np.array(bba_val_2[i])after_trans=np.dot(before_trans,matrix)return after_transdef fusion_this(m1,m2):'''m1:[t0,t1,t2]m2:[t0,t1,t2,[t0,t1],[t0,t1,t2]]'''m_fusion=[0,0,0]k=1-(m1[0]*m2[1]+m1[0]*m2[2]+m1[1]*m2[0]+m1[1]*m2[2]+m1[2]*m2[0]+m1[2]*m2[1]+m1[2]*m2[3])m_fusion[0]=(m1[0]*m2[0]+m1[0]*m2[3]+m1[0]*m2[4])/km_fusion[1]=(m1[1]*m2[1]+m1[1]*m2[3]+m1[1]*m2[4])/km_fusion[2]=(m1[2]*m2[2]+m1[2]*m2[4])/kreturn np.array(m_fusion)def fusion(x,bba_val_2,bba_val_1,i):after_trans=mapping(x,bba_val_2,i)after_fusion=fusion_this(bba_val_1[i],after_trans)return after_fusiondef con(arg=0):      #limits 100>x[i]>0# eq / ineq# eq=0 /ineq> 0  cons = ({'type': 'ineq', 'fun': lambda x: x[0]},\{'type': 'ineq', 'fun': lambda x: -x[0]+100},\{'type': 'ineq', 'fun': lambda x: x[1]},\{'type': 'ineq', 'fun': lambda x: -x[1]+100},\{'type': 'ineq', 'fun': lambda x: x[2]},\{'type': 'ineq', 'fun': lambda x: -x[2]+100},\{'type': 'ineq', 'fun': lambda x: x[3]},\{'type': 'ineq', 'fun': lambda x: -x[3]+100}, \{'type': 'ineq', 'fun': lambda x: x[4]},\{'type': 'ineq', 'fun': lambda x: -x[4]+100},\{'type': 'ineq', 'fun': lambda x: -x[5]+100},\{'type': 'ineq', 'fun': lambda x: x[5]})return conscons=con(1)
train_label1_onehot=to_categorical(train_label1.ravel(), 3)    #label  to one-hot encode
test_label1_onehot=to_categorical(test_label1.ravel(), 3) def fun(args):bba_val_2,bba_val_1=argsv = lambda x:sum([np.linalg.norm(fusion(x,bba_val_2,bba_val_1,i)-train_label1_onehot[i]) for i in range(105)])return vargs=(bba_val_2,bba_val_1)
x0=np.ones((6,1))
res = minimize(fun(args), x0,method='SLSQP',constraints=cons)
# res = minimize(fun(args), x0,method='SLSQP')# res = minimize(fun(args), x0)
print(np.round(res.fun,2))
print(res.success)
print(np.round(res.x,2))

python 非线性规划相关推荐

  1. python非线性规划求解_Python之建模规划篇--非线性规划

    Python之建模规划篇--非线性规划 基本介绍 如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问 题.一般说来,解非线性规划要比解线性规划问题困难得多.而且,也不象线性规划有 ...

  2. python非线性规划scipy.optimize.minimize介绍

    目录 0. 官方说明 1. Parameters 2. Returns 3. 案例 1)无约束求极值 2)有约束求极值 参考资料 0. 官方说明 在 python 里用非线性规划求极值,最常用的就是 ...

  3. python 非线性规划_自动驾驶运动规划-Hybird A*算法(续)

    Hybird A*算法保证生成的路径是车辆可实际行驶的,但它仍然包含很多不必要的车辆转向操作,我们可以对其进行进一步的平滑和优化. Objective Function 对于Hybird A*生成的车 ...

  4. python 非线性规划_支持向量机:Stata 和 Python 实现

    田原 (北京交通大学) godfreytian@163.com ? 连享会主页:lianxh.cn 扫码查看最新推文和分享 NEW!连享会·推文专辑: Stata资源 | 数据处理 | Stata绘图 ...

  5. python非线性规划问题_python玄学建模(2):非线性规划

    文档url:https://docs.scipy.org/doc/scipy-0.18.1/reference/generated/scipy.optimize.minimize.html 本文还是对 ...

  6. 非线性规划(scipy.optimize.minimize)

    1.minimize() 函数介绍 在 python 里用非线性规划求极值,最常用的就是 scipy.optimize.minimize(). [官方介绍点这里](Constrained minimi ...

  7. 「需求广场」需求词更新明细(七)

    进入需求广场​​​​​​​,选取你擅长的领域开始上传资源.获取流量吧! 2022.6.7上线需求词: No. 需求词 No. 需求词 No. 需求词 1 facebook注册 201 eclipse创 ...

  8. 数学建模之优化问题中的规划问题

    前言:规划问题分为线性规划和非线性规划两大类,其中线性规划采用cvxpy库就可以解决:非线性规划分为凸规划和非凸规划,做题时应先判断是否是凸规划.对于凸规划采用cvxpy可以解决,非凸规划采用scip ...

  9. Scipy优化scipy.optimize.minimize

    如果喜欢请点赞,收藏,谢谢! 要解决一个优化问题 m i n i m i z e x [ 0 ] , x [ 1 ] \mathrm{minimize}_{x[0],x[1]} minimizex[0 ...

最新文章

  1. Internet History, Technology, and Security----第三周
  2. FD.io/VPP — L2TP
  3. GideView 动态列模板
  4. C#关键字详解第二节
  5. 【博客】csdn搬家到wordpress
  6. matlab生成西门子plc源文件,西门子PLC如何把DB快做成源文件
  7. markdown文件转word文件
  8. 数据分析师的全景职业规划,入门、转行都先看这篇
  9. python 回归 显著_Python数分:回归分析
  10. mysql复购率_MYSQL系列(5) 电商常用指标查询
  11. BAT[阿里、百度、腾讯]等互联网公司数据结构面试题(一) python分析实现
  12. C++ 顺序容器基础知识总结
  13. Mac如何取消远程控制?
  14. DCDC电源模块方案 大功率DCDC变换器
  15. 原创!PlusU盘病毒免疫工具,让你轻松远离伪装成文件夹的U盘病毒!
  16. edgewin10无法安装_Win10系统下卸载Edge浏览器后无法重装
  17. 在阿里做了五年技术主管,我有话想说
  18. 黑冰客防骗子—常见网络骗子骗术防御要点
  19. Error Code: 1054. Unknown column 'xxx' in 'field list'
  20. 手机里舍不得删除的48条搞笑短信

热门文章

  1. 【文件包含漏洞】——文件包含漏洞防御
  2. CASIA-WebFace数据集清洗
  3. opengl读取obj模型并绘制2.0
  4. JAVA_eclipse插件绘制GUI界面过程
  5. 用python画出二叉树_Python与二叉树定价建模,像奇异博士一样推演未来并做出正确的选择...
  6. Windows远程桌面突然不能复制粘贴的解决办法
  7. Django计算机毕业设计高校体育馆管理信息系统(程序+LW)Python
  8. 【MySQL】设置MySQL字符集
  9. C语言程序设计(第三版)何钦铭著 习题4-6
  10. 三种常见的移动底盘运动学模型分析