首页 > 其他分享 >scikit-opt学习笔记

scikit-opt学习笔记

时间:2024-03-12 13:57:49浏览次数:15  
标签:opt scikit 笔记 x2 x3 x1

1.差分约束算法

'''
min f(x1, x2, x3) = x1^2 + x2^2 + x3^2
s.t.
    x1*x2 >= 1
    x1*x2 <= 5
    x2 + x3 = 1
    0 <= x1, x2, x3 <= 5
'''


def obj_func(p):
    x1, x2, x3 = p
    return x1 ** 2 + x2 ** 2 + x3 ** 2


constraint_eq = [
    lambda x: 1 - x[1] - x[2]
]
# 等于0
constraint_ueq = [
    lambda x: 1 - x[0] * x[1],
    lambda x: x[0] * x[1] - 5
]
# 小于0
# %% Do DifferentialEvolution
from sko.DE import DE

de = DE(func=obj_func, n_dim=3, size_pop=50, max_iter=800, lb=[0, 0, 0], ub=[5, 5, 5],
        constraint_eq=constraint_eq, constraint_ueq=constraint_ueq)
'''
func: 目标函数,即要优化的函数。
n_dim: 变量的维度,这里是3,表示有3个自变量。
size_pop: 种群大小,即每一代的个体数量。
max_iter: 最大迭代次数,表示算法将进行多少代的进化。
lb: 每个自变量的下界,即允许的最小值。
ub: 每个自变量的上界,即允许的最大值。
constraint_eq: 等式约束函数,用于处理等式约束条件。
constraint_ueq: 不等式约束函数,用于处理不等式约束条件。
'''


best_x, best_y = de.run()
print('best_x:', best_x, '\n', 'best_y:', best_y)

 

标签:opt,scikit,笔记,x2,x3,x1
From: https://www.cnblogs.com/liujunxi/p/18068137

相关文章

  • [转]Golang Functional Options Pattern
     原文: https://golang.cafe/blog/golang-functional-options-pattern.html-------------------- GolangFunctionalOptionsPatternTheGo(Golang)FunctionaOptionsPatternisaway,apatternofstructuringyourstructsinGobydesigningaveryexpressivea......
  • Vue学习笔记46--scoped样式 + less
    scoped样式<!--组件的默认样式css写法--><!--<stylescoped>.demo{background-color:cadetblue;}</style>--><stylelang="less"scoped>.demo{background-color:cadetblue;.myfontsize{font-size:40px;}......
  • 数据结构——线段树 学习笔记
    数据结构——线段树学习笔记classseg_t{private:structemm{intl,r;structv;};vector<emm>a;voidpush_up(intk){}voidaction(intk,intv){}voidpush_down(intk){}voidbuild(vector<any>q,intk,intl,intr){a[k].l=......
  • 技术笔记(7)Unity导入人物和场景,出现的材质问题
    技术笔记(7)Unity导入人物和场景,出现的材质问题一,如果两个人物拥有同名但内容不同的的材质shadererror:Unity在导入的时候,识别到近似内容时,会用新的内容去替换同名shader的内容,而不是重新创建一个。这样就会导致第一个人物的材质显示异常,其本质是shader内容被替换了。解决......
  • BUUCTF靶机笔记
    BUUBRUTE11启动靶机后可以看到是一个登陆页面查看源代码:没有有用的信息只是单纯的html页面随便填一个用户:admin密码:123提示密码为四位怀疑是暴力破解使用burp进行单点爆破payload设定暴力完成查看length不同的数据包返回flag:flag{6982d5b6-a2f8-48d8-aec6......
  • 博弈论个人笔记总结
    博弈论简单易懂的博弈论讲解(巴什博弈、尼姆博弈、威佐夫博弈、斐波那契博弈、SG定理)-The_Virtuoso-博客园(cnblogs.com)尼姆博弈(Nim)游戏引入:假设先手为$X$,后手为$Y$先假设有两堆石子,数量分别为a,b,如果$a\neqb\and\a>b$,$X$选石子$x$个让$a-x=b$,然后$......
  • Minitorch笔记
    https://github.com/mukobi/Minitorch-Self-Study-Guide-SAIA/blob/main/README.md#what-is-thishttps://minitorch.github.io/srush/GPU-Puzzles:Solvepuzzles.LearnCUDA.(github.com)代码规范和提交black.#Formatallfilesflake8.#checkdocstringandetc.my......
  • vue3—尚硅谷禹神笔记转载
    1.Vue3简介2020年9月18日,Vue.js发布版3.0版本,代号:OnePiece(n经历了:4800+次提交、40+个RFC、600+次PR、300+贡献者官方发版地址:Releasev3.0.0OnePiece·vuejs/core截止2023年10月,最新的公开版本为:3.3.41.1.【性能的提升】打包大小减少41%。初次渲染快5......
  • GraphDA论文阅读笔记
    Abstract​ 图协同滤波(GCF)是在推荐系统中捕获高阶协同信号的一种流行技术。然而,GCF的二部邻接矩阵定义了基于用户-项目交互聚合的邻居,对于交互丰富的用户/项目来说是有噪声的,而对于交互稀缺的用户/项目则不够。此外,邻接矩阵忽略了用户-用户和项目-项目之间的相关性,这可能会限制被......
  • 计算几何——扫描线 学习笔记
    计算几何——扫描线学习笔记你会发现我的笔记的顺序和很多扫描线的讲解是反着来的。其实是和我老师给的课件完全是逆序(谁帮我算一下逆序对啊喵)。前言一开始以为扫描线就是用来求二维几何图像的信息的。但是其实这个并不准确。个人认为,扫描线其实是一个思想,就像动态规划一样......