
笔记
rotary girl
这个作者很懒,什么都没留下…
展开
-
基于nsga2的多目标柔性车间调度问题matlab
主函数:%主函数function nsga2_scheduling clear all; clc; pop = 200; %种群数量 gen = 10; %迭代次数 pop_f=100;%父代种群数量 data_mac;%载入车间设备信息 data_pro;%载入待加工工件信息 pro_matrix=[];%包含工序及目标函数值的决策矩阵 mac_matrix=[];%包含设备染色体信息的决策矩阵 for i=1:pop_翻译 2021-03-10 16:58:49 · 3000 阅读 · 35 评论 -
简单选择排序和二元排序的Python实现
设有列表n=10nums=list(range(n))简单选择排序降序:第一步:n个数从左至右,索引从0开始至n-1,两两依次比较,记录最大索引,将大数和索引0数交换,如果大数就是索引0,则不交换;第二步从索引1开始比较…升序:相反操作。for i in range(n): maxindex=i #假定最大值索引 for j in range(maxindex+1,n): if nums[j]>nums[maxindex]: m原创 2020-10-16 03:21:40 · 231 阅读 · 1 评论 -
Python打印杨辉三角
法一:n=6triangle=[[1],[1,1]]for i in range(2,n): cur=[1] pre=triangle[i-1] for j in range(i-1): cur.append(pre[j]+pre[j+1]) cur.append(1) triangle.append(cur)print(triangle)法二:n=10triangle=[]for i in range(0,n): cur=[原创 2020-10-14 23:01:25 · 321 阅读 · 0 评论 -
10000以内素数求法--Python
法一:primenumber=[]for x in range(2,10000): for i in range(2,int(x**0.5)+1): if x%i==0: break else: primenumber.append(x)print(primenumber)法二:start=datetime.datetime.now()primenumber=[2]for x in range(3,10000,2):原创 2020-10-14 22:05:20 · 2548 阅读 · 0 评论 -
冒泡法排序--Python
冒泡法排序–Python假设有一个列表里面有9个数,现在使用冒泡法对其进行升序排序。import randomimport datetimel1=list(range(1,10))random.shuffle(l1) #输出none,就地修改start=datetime.datetime.now()count=0swap_count=0length=len(l1)for i in range(length-1): flag=True #假定是有序序列 for j in原创 2020-10-14 16:50:31 · 191 阅读 · 0 评论 -
wolfe准则确定步长
不精确的一维搜索// wolfe准则%给定目标函数,梯度,初始值以及方向通过迭代确定步长function [alpha,xknew,fk,fknew,j]=wolfe(f,g,xk,dk)lambda=0.1;sigma=0.5;a=0;b=inf;alpha=1;j=0; %迭代次数while 1 if ~((f(xk)-f(xk+alpha*dk)>=(-lambda*alpha*g(xk)'*dk))) %没有满足函数是下降的原创 2020-05-27 22:53:44 · 4035 阅读 · 2 评论 -
进退法求初始区间
进退法求初始区间// 进退法求初始区间function [a,b]=jintuif(f,x0,h) %给定目标函数f,初始值x0,步长hf0=f(x0);x1=x0+h;f1=f(x1);%分进,退两步循环if f0>f1 while 1 h=2*h; x2=x1+h; f2=f(x2); if f1<=f2 a=x0; b=x2; br原创 2020-05-27 22:52:05 · 1890 阅读 · 0 评论 -
【matlab】一维搜索Fibonacci法和黄金分割法
一维搜索 Fibonacci法和黄金分割法Fibonacci法// Fibonaccifunction [k,x,result]=fibonacci(f,interval,delta) %k为迭代次数a=interval(1);b=interval(2);F=[1 1]; %斐波那契数列数列的第一项和第二项n=3;while F(end)<(b-a)/delta %产生斐波那契数列 F(n)=F(n-1)+F(n-2); n=n+1;end原创 2020-05-27 00:02:07 · 4161 阅读 · 3 评论