scipy.optimize.minimize 解决实际问题
接上博客问题http://www.cnblogs.com/shizhenqiang/p/8274806.html
# coding=utf-8 from scipy import optimize
import numpy as np def get(): ar = [160, 130, 220, 170, 140, 130, 190, 150, 190, 200, 230]
fun = lambda x:(x[0]*ar[0]+x[1]*ar[1]+x[2]*ar[2]+x[3]*ar[3]+x[4]*ar[4]+ x[5]*ar[5]+x[6]*ar[6]+ x[7]*ar[7]+ x[8]*ar[8]+x[9]*ar[9]+x[10]*ar[10]) return fun def con():
# Equality constraint means that the constraint function result is to be zero whereas inequality means that it is to be non-negative
x1min, x2min, x3min, x4min,x5min ,x6min,x7min,x8min,x9min,x10min,x11min = [50, 60, 50, 30, 70, 10, 10, 80, 140,30,50]
cons = ({'type': 'eq', 'fun': lambda x: x[0] + x[1] + x[2] + x[3] - x1min},\
{'type': 'eq', 'fun': lambda x: x[4] + x[5] + x[6] + x[7] - x2min},\
{'type': 'eq', 'fun': lambda x: x[8] + x[9] + x[10] - x3min},\
{'type': 'ineq', 'fun': lambda x: x[0]+x[4]+x[8] - x4min},\
{'type': 'ineq', 'fun': lambda x: x[1] + x[5] + x[9] - x5min},\
{'type': 'ineq', 'fun': lambda x: x[2] + x[6] + x[10] - x6min}, \
{'type': 'ineq', 'fun': lambda x: x[3] + x[7] - x7min}, \
{'type': 'ineq', 'fun': lambda x: -(x[0] + x[4] + x[8] - x8min)}, \
{'type': 'ineq', 'fun': lambda x: -(x[1] + x[5] + x[9] - x9min)}, \
{'type': 'ineq', 'fun': lambda x: -(x[2] + x[6] + x[10] - x10min)}, \
{'type': 'ineq', 'fun': lambda x: -(x[3] + x[7] - x11min)}, \
)
return cons if __name__ == "__main__":
#args = (2, 3, 7, 8, 9, 10, 2, 2) #a, b, c, d, e, f,g,h #args = (0, 0,0, 0,0, 0, 0, 0) #a, b, c, d, e, f,g,h
#args1 = (-1000, 1000, -1000, 1000) #x1min, x1max, x2min, x2max
x0 = np.asarray((0, 0,0,0,0,0,0,0,0,0,0))
fun = get()
cons = con()
bnds = ((0, None), (0, None),(0, None), (0, None),(0, None), (0, None),(0, None), (0, None),(0, None), (0, None),(0, None))
res = optimize.minimize(fun, x0, method='CG', bounds=bnds,constraints=cons)
#print(res)
print(res.fun)
print(res.success)
print(res.x)
scipy.optimize.minimize 解决实际问题的更多相关文章
- 非线性规划带约束-scipy.optimize.minimize
# coding=utf-8 from scipy import optimize import numpy as np def get(args): a, b, c, d, e, f, g, h = ...
- Scipy优化算法--scipy.optimize.fmin_tnc()/minimize()
scipy中的optimize子包中提供了常用的最优化算法函数实现,我们可以直接调用这些函数完成我们的优化问题. scipy.optimize包提供了几种常用的优化算法. 该模块包含以下几个方面 使用 ...
- Scipy教程 - 优化和拟合库scipy.optimize
http://blog.csdn.net/pipisorry/article/details/51106570 最优化函数库Optimization 优化是找到最小值或等式的数值解的问题.scipy. ...
- 探索Windows命令行系列(6):活用批处理解决实际问题
1.批量修改文件名 2.批量重启服务 3.全盘搜索指定文件 3.1.全盘搜索名称为 mm.jpg 的文件,获取其全路径 3.2.查找系统中所有名称以 .docx 结尾的文件 4.调用可执行程序 4.1 ...
- 使用python scipy.optimize linprog和lingo线性规划求解最大值,最小值(运筹学学习笔记)
1.线性规划模型: 2.使用python scipy.optimize linprog求解模型最优解: 在这里我们用到scipy中的linprog进行求解,linprog的用法见https://doc ...
- 运用《深入理解Java虚拟机》书中知识解决实际问题
前言 以前看别人博客说看完<深入理解Java虚拟机>这本书并没有让自己的编程水平提高多少,不过却大大提高了自己的装逼水平.其实,我倒不这么认为,至少在我看完一遍这本书后,有一种醍醐灌顶的感 ...
- iOS正则表达式解决实际问题
问题:上海市徐汇区桂林路158号1202室 字符串长度不固定,数字长度也不固定.截取第二组数字. 方法一:[正则表达式] NSString * str = @"上海市徐汇区桂林路158号12 ...
- Matlib’s lsqnonlin 和 scipy.optimize’s least_square
matlib's lsqnonlin 和 scipy.optimize's least_square 问题 有三个点 $A,B,C$ , 经过一个线性变换 $T$ , 变为了 $A',B',C'$ 三 ...
- 安装Scipy出错的解决方法
lapack_opt_info: lapack_mkl_info: libraries mkl_rt not found in ['c:\\python27\\lib', 'C:\\', 'c:\\p ...
随机推荐
- VBox 一款基于vue开发的音乐盒 序章
己基于vue写了一个 Mplayer, github地址:https://github.com/xiangwenhu/MPlaer, 演示地址:http://babydairy2017.cloudap ...
- python基础(六)dict字典和文件操作open
字典dict 使用key来标注value的数据类型,key和value是一一对应的.在字典中key是唯一的,所以字典也是无序的. #定义一个字典 dict = { 'name' : 'sylar', ...
- Java学习笔记9---类静态成员变量的存储位置及JVM的内存划分
笔记8提到了类静态成员变量的访问方式,但静态成员变量存储在哪里呢?在网上查阅不少资料,发现好多内容都是过时的了,其中主流观点是静态成员变量存放在方法区.JDK8之前,静态成员变量确实存放在方法区:但J ...
- 更新Appium中的WebDriverAgent
到WebDriverAgent下载最新版本的WebDriverAgent 进入下载后的WebDriverAgent文件 执行 ./Scripts/bootstrap.sh 直接用Xcode打开WebD ...
- 【网络流】POJ1273 Drainage Ditches
Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 78671 Accepted: 3068 ...
- 一些关于memcpy memmove函数的区别,和模拟实现
memcpy: 它是c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中. 函数原型:void* memcp ...
- (4程序框架)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...
- 新浪新闻页面抓取(JAVA-Jsoup)
1.使用gradle建立工程: 工程格式如下: include ':spider-demo' rootProject.name = 'my-spider-demo' settings def void ...
- 运用C语言将图片转换成16进制的字符串(base64)
最近在写手机端的性能测试脚本的时候,发现手机在上传图片数据时,先将图片转换成一堆16进制的字符,将字符传输过去,服务器再将字符解码成图片 我们在loadrunner中测试时,就需要用C语言将图片编码. ...
- centos7配置阿里云yum源
1)下载repo文件 wget http://mirrors.aliyun.com/repo/Centos-7.repo 2)备份并替换系统的repo文件 cp Centos-7.repo /etc/ ...