精华内容
下载资源
问答
  • NSGA2 约束条件处理方法,包括非线性约束。
  • 在文[1]中,作者曾提出求解一般约束优化问题的一种新方法。本文利用微分方程对约束条件做进一步的讨论,证明了从一可行点的某邻域出发的该微分方程组的解关于部分变元总收敛到问题(1.1)的可行点。
  • 约束多目标优化问题中约束处理方法综述,遗传算法(Genetic Algorithm,GA)是模仿自然界生物进化机制发展起来的全局搜索优化方法,它在迭代过程中使用适者生存的原则,采用交叉、变异等操作使得种群朝着最优的方向...
  • 针对航空发动机叶片检测分析中的模型配准定位问题,结合叶片型面不同区域的设计公差要求不同的特点,以减少配准后超差点的数目为目标,提出了一种公差约束条件下的叶片模型配准方法。在迭代最近点匹配算法...
  • 1、多个约束条件只有部分起作用,m个约束条件只有n个起作用 2、约束条件右边的常数项在几个值中取一个 3、固定费用,即只有在某种材料被采用时才会有固定费用,如果不采用则没有固定费用 4、if-then情形,如果...

    1、多个约束条件只有部分起作用,m个约束条件只有n个起作用

    2、约束条件右边的常数项在几个值中取一个

    3、固定费用,即只有在某种材料被采用时才会有固定费用,如果不采用则没有固定费用

    4、if-then情形,如果某个约束满足则另一个约束起作用,如果条件不满足另一个约束无限制

    转载于:https://www.cnblogs.com/sliwenhui/p/4460742.html

    展开全文
  • 多目标进化算法-约束问题的处理方法

    万次阅读 多人点赞 2018-05-06 15:12:33
    多目标进化算法系列 ...现实世界中的多目标优化问题往往包含不等式约束和等式约束,对于这类带约束条件的多目标优化问题,需要使用有别于无约束优化问题的处理方法。下面首先给出带约束条件的多目标优化问题...

    多目标进化算法系列

    1. 多目标进化算法(MOEA)概述
    2. 多目标优化-测试问题及其Pareto前沿
    3. 多目标进化算法详述-MOEA/D与NSGA2优劣比较
    4. 多目标进化算法-约束问题的处理方法
    5. 基于C#的多目标进化算法平台MOEAPlat实现
    6. MOEAD中聚合函数等高线分析
    7. MOEAD中一种使解更均匀分布的聚合函数介绍

    现实世界中的多目标优化问题往往包含不等式约束和等式约束,对于这类带约束条件的多目标优化问题,需要使用有别于无约束优化问题的处理方法。下面首先给出带约束条件的多目标优化问题的的定义:
    Definition : 约束多目标优化问题

    F ( x ) = ( f 1 ( x ) , . . . , f m ( x ) )                      s . t . x i ( L ) ≤ x i ≤ x i ( U ) ,    i = 1 , 2 , . . . , n    g j ( x ) ≤ 0 ,    j = 1 , 2 , . . . , J                        h k ( x ) = 0 ,    k = 1 , 2 , . . . , K                      \begin{matrix} F(x)=(f_1(x),...,f_m(x))\;\;\;\;\;\;\;\;\;\;\\ s.t.\qquad\qquad\qquad\qquad\qquad\qquad \\ x_i^{(L)}\leq x_i \leq x_i^{(U)},\; i=1,2,...,n\;\\ g_j(x)\leq 0,\;j=1,2,...,J\;\;\;\;\;\;\;\;\;\;\;\\ h_k(x)=0,\;k=1,2,...,K\;\;\;\;\;\;\;\;\;\;\\ \end{matrix} F(x)=(f1(x),...,fm(x))s.t.xi(L)xixi(U),i=1,2,...,ngj(x)0,j=1,2,...,Jhk(x)=0,k=1,2,...,K

    在这个定义式中,为了描述方便,将所有的不等式约束都转换为了 g ( x ) ≤ 0 g(x)\leq 0 g(x)0的形式。其中 m m m为目标函数的个数, n n n为决策变量的个数, J J J为不等式约束条件的个数, K K K为等式约束条件的个数, x i ( L ) x_i^{(L)} xi(L) x i ( U ) x_i^{(U)} xi(U)分别为第 i i i个决策变量 x i x_i xi的下限和上限值。

    针对这类带约束条件的优化问题,使用无约束多目标进化算法处理的方法显然是不可行的,为了解决这类约束多目标优化问题,针对基于Pareto支配关系的算法,主要使用带约束的支配关系(constrained-dominance)来处理,而对于基于分解的算法,则使用新的替换策略来更新解。

    为了详细说明上述两种方法,现介绍几个重要的概念。

    对于一个解 x x x,若其满足约束条件,则称该解为可行解(feasible solution),若不满足,则称之为不可行解(infeasible solution)。

    对于不可行解,如何描述其违反约束的程度呢,一般使用约束违反值(constraint violation value),该值用来定量描述一个解违反约束条件的程度。对于一个解 x x x,其值可如下表达

    C V ( x ) = ∑ i = 1 J ⟨ g j ( x ) ⟩ + ∑ k = 1 K ∣ h k ( x ) ∣ CV(x)=\sum_{i=1}^J{\langle g_j(x) \rangle} + \sum_{k=1}^K{|h_k(x)|} CV(x)=i=1Jgj(x)+k=1Khk(x)

    其中 ⟨ α ⟩ \langle \alpha \rangle α表示若 α ≤ 0 \alpha\leq 0 α0,则 ⟨ α ⟩ = 0 \langle \alpha \rangle =0 α=0,否则 ⟨ α ⟩ = ∣ α ∣ \langle \alpha \rangle = |\alpha| α=α。显然,对于一个解,其CV值越小,说明该解越优。同时,对于一个可行解,其CV值为0,对于不可行解,其CV值则大于0。

    下面介绍约束支配关系,对于任意两个解 x , y x,y x,y x x x约束支配 y y y的条件满足以下条件的任一项即可:

    1. x x x是可行解,而 y y y是不可行解;
    2. x , y x,y x,y都不是可行解,但 C V ( x ) < C V ( y ) CV(x)<CV(y) CV(x)<CV(y)
    3. x , y x,y x,y都是可行解,且 x x x Pareto支配 y y y

    以上便是约束支配关系的描述,对于一个带约束的多目标优化问题,便可直接将该支配关系应用到基于Pareto支配关系的多目标进化算法中,如NSGA-II,NSGA-III等,同时,对于无约束多目标优化问题,该支配关系显然也是有效的。

    下面介绍基于分解的算法处理约束多目标优化问题中的替换策略。假设 y y y是新生成的子代解,选择一个邻居解 x x x来确定是否用解 y y y替换解 x x x,满足以下条件的任一项则替换之:

    1. x x x是不可行解, y y y是可行解;
    2. x , y x,y x,y都不是可行解,但 C V ( x ) > C V ( y ) CV(x)>CV(y) CV(x)>CV(y)
    3. x , y x,y x,y都是可行解,但解 y y y的聚合函数值更小

    该替换策略可直接用到MOEA/D或其他基于分解思想的多目标进化算法中来处理约束多目标优化问题。

    以上便是目前约束多目标优化问题处理的一些常用方法。

    QQ交流群:399652146

    参考:

    1. Deb K, Pratap A, Meyarivan T. Constrained Test Problems for Multi-objective Evolutionary Optimization[C]// Evolutionary Multi-Criterion Optimization, First International Conference, EMO 2001, Zurich, Switzerland, March 7-9, 2001, Proceedings. 2001:284–298.
    2. Jain H, Deb K. An Evolutionary Many-Objective Optimization Algorithm Using Reference-Point Based Nondominated Sorting Approach, Part II: Handling Constraints and Extending to an Adaptive Approach[J]. IEEE Transactions on Evolutionary Computation, 2014, 18(4):602-622.
    3. Li K, Deb K, Zhang Q, et al. An Evolutionary Many-Objective Optimization Algorithm Based on Dominance and Decomposition[J]. IEEE Transactions on Evolutionary Computation, 2015, 19(5):694-716.
    展开全文
  • Caused by: java.sql.BatchUpdateException:ORA-00001: 违反唯一约束条件 (SOLEX.SYS_C0012537) 2、分析 ①通过SYS_C0012537找到对应的表 select a.constraint_name,a.constraint_type,b.column_name,b.table_name ...

    1、错误
    Caused by: java.sql.BatchUpdateException:ORA-00001: 违反唯一约束条件 (SOLEX.SYS_C0012537)
    2、分析

    ①通过SYS_C0012537找到对应的表
    select a.constraint_name,a.constraint_type,b.column_name,b.table_name
    from user_constraints a inner join user_cons_columns b on a.table_name=b.table_name
    where a.constraint_name='SYS_C0012537'
    ②同hbm.xml文件找到主键的自增序列名称

    SEQ_FEEPAY_COST_D

    ③到数据库序列sequences查找该序列名称:SEQ_FEEPAY_COST_D,然后修改下一个ID的值
    这里写图片描述

    3、若是SSH开发结构,则直接修改HIBERNATE_SEQUENCE

    展开全文
  • 约束条件下二次误差度量简化方法

    千次阅读 2011-03-23 09:42:00
    本章将首先介绍多分辨率模型简化部分中的二次误差度量方法,然后提出约束条件下的改进算法,最后完成模型简化实验。虽然此方法在预处理阶段完成,属于静态简化的范畴,但也是下一章将要介绍的动态简化方法的基础,在...

    上一章主要从场景可见性剔除、多分辨率模型简化、基于图像与GPU的加速绘制以及场景数据组织等方面介绍场景加速绘制的基本原理与方法。本章将首先介绍多分辨率模型简化部分中的二次误差度量方法,然后提出约束条件下的改进算法,最后完成模型简化实验。虽然此方法在预处理阶段完成,属于静态简化的范畴,但也是下一章将要介绍的动态简化方法的基础,在预处理阶段与实时运行阶段都可作为边折叠操作的基础。

    3.1 引言

    由于三维场景浏览和交互操作更贴近人们在现实环境中的观察方式和感受,以及虚拟仿真技术、图形技术、网络技术和数字城市技术的快速发展,对三维仿真应用的需求越来越大。而通过建模工具生成或扫描仪得到的三维模型,作为仿真场景的组成部分,其数据量往往较大,若直接将其交给图形流水线处理,往往超出硬件的承受能力,无法达到实时显示的要求。

    奥运主场馆区仿真场景中模型类型多,有地面、水体、植物和建筑物等类型,并且几何图形数据量较大,往往包含几万,甚至几十万个三角面。通过实验发现,即使在高配置的计算机(奔4,双CPU2G内存)中也只有几帧每秒左右的渲染速度,没有达到实时浏览的要求。同时,为在互联网上发布奥运三维仿真场景,满足迅速获取场馆及周边地区空间信息的要求,也需要对原始模型进行一定处理,缩减文件尺寸。

    自动简化技术为处理复杂、大数据量模型提供了一种解决途径。在尽量保证场景显示不失真的前提下,依据模型表面的重要程度来逐渐简化细节,从而降低硬件负担。其用途在于,能产生场景中物体的细节层次模型,来提高整个场景的渲染速度;缩减模型文件尺寸,适合网络发布和下载;自动处理技术还可以降低人工编辑大数据量三维场景的作业强度。

    3.2简化技术相关工作

    三角面消除算法(Schroeder, Zarge, 1992)在不损害邻近区域的局部拓扑性前提下,删除顶点和所处的三角形,同时对产生的空洞重新三角化。由于简化模型的顶点是原始模型顶点集合的子集,虽然能方便的重新利用顶点处的法向量和纹理坐标等信息,但在保真方面有所欠缺。

    顶点聚类算法(Rossignac1993)首先依据所属三角形面积或曲率为每个顶点分配一个重要度参数。然后,覆盖一个三维格网到模型上,聚类每个单元格的所有顶点到最重要的一个顶点。可见,简化的质量由三维格网的分辨率来决定。另外,在几何误差的控制上此类算法会比较困难。

    迭代的边收缩算法通过不断的收缩各条边来简化模型。此类型算法的本质不同是如何选择一条边进行收缩。Hoppe在累进格网框架中的算法是依赖所有待收缩边对一个能量函数的影响程度,来将它们在优先队列中排序。二次误差度量(GarlandHeckbert1997)算法在顶点合并操作时引入误差评价,然后依据误差大小来排序各条待收缩边。在二次型误差度量算法的基础上,引入边界约束条件和法向量限制,是本章研究的主要内容。基于边收缩不同算法的主要差异在被用于排列边的误差矩阵。这些算法一般能产生较好的显示效果,虽然运行时间有很大的不同。

    3.3 二次误差度量基本原理与方法

    现阶段,相当多的计算机图形应用要求使用复杂、高细节模型来给人更加真实的视觉感受。这样,在模型制作时,就要求达到非常高的分辨率来满足这种细节上的需求。然而,在应用的时候并不总是要求模型以完整的模式从始至终的表现出来,且模型越复杂,计算开销越大,有时使用一个复杂模型的简化版本就足够了。因此,自动产生这些模型的简化版本成为本章节的研究目标。

    首先,介绍基于迭代的边收缩和二次型误差度量简化算法,其特点是能快速的产生多边形模型的高质量近似,是一种兼顾效率和质量的方案。并且,多边形模型不仅仅是几何要素比较复杂,而且还可能包含不同的表面属性如颜色、纹理和面法向量等数据。而这种方法的一般形式,在简化模型表面几何要素的同时,还涉及到顶点的颜色和纹理属性。

         因为每个原始模型的多边形能在预处理阶段被三角化,不失一般性,假定模型仅有三角形组成。


     

    选择何种收缩方式,要依赖具体应用的要求。一般说来,最佳点替代方法产生的模型外观更加忠实于原始模型。

    简单的分析上面的推导,上述算法能隐含的保留表面形状的不连续性。比如说,一个立方盒子的形状,由于面是互相垂直的,沿着边移动的点的代价就比移开点的代价低。

    上面推导的基本算法仅仅考虑了模型简化时的表面几何位置要素,这是明显的缺陷。下面将介绍一个基本算法的扩展,会引入表面的颜色、贴图坐标等其它属性。





     

    3.4 受约束二次误差度量方法

    3.4.1最小值求解

         在边收缩时,采用基于二次型误差度量的方法计算两个顶点收缩到最优顶点


     

    当三维模型读入,简化流程开始时,首先为每个顶点计算度量误差的矩阵,并计算每条边假若收缩,则付出的误差代价。当简化进行时,具有最小误差数值的边被收缩,此时,最优顶点作为新加入的顶点,其度量误差的矩阵为被收缩边两端点上矩阵之和。 基本算法忽略一些约束条件,现考虑将它们加入进来。

    在边界曲线方面,采用的方法是,若边的三角形集合中只有小于或等于一个三角形元素时,则边被判定为边界,在误差度量时,赋予极大数值。边界的两端点在初始化阶段被认定为边界点,而边界点可能从属除边界外的其它边集合。这些边若被收缩,则会牵连到边界点的移动,从而边界有可能被改动,因而它们被判定为邻近边界的特殊集合,在误差度量时,也赋予极大数值。

    在法向量偏移引起的改动方面,主要是考虑到,若一条边将被收缩,得到的最优顶点与周边顶点新组成的三角形平面,与原始三角形平面相比较,假若造成了翻转现象,则这条边的收缩应该被制止,即在误差度量时,这条边也应该被赋予极大数值。通过平面法向量点乘的计算,可得到平面间的交角,从而能预测某些边的收缩会造成翻转现象。

    3.4.2约束条件算法描述

          本文实现的边折叠简化算法从折叠对象获取模型的数据开始,到中间执行边的误差度量和边折叠等操作,最后以重新计算的模型数据覆盖原始数据结束,其实现如图3.1所示。更新所有边的误差度量在算法的开始阶段进行,中间加入了约束条件,其实现如图3.2所示。更新一条边的误差度量方法在边不断的收缩过程中进行,其实现与更新所有边方法类似,不过是从折叠对象的边集合中首先删除此条边,计算度量误差后,重新插入到边集合中。
        
     

    执行误差度量最小的边折叠操作,首先从折叠对象中的边集合中取出第一个元素,若其误差已经达到极大数值,则直接返回;否则,计算最佳点后,执行边折叠操作,其流程如图3.3所示。


        
        
     

    3.4.3 结果分析

    将三维仿真场景中的芡苓等植物模型进行原始、普通二次型度量和带约束二次型度量三种模式下成像的实验分析,可以得出如下结果。将带约束度量方法获取的三维模型图像与原始模型图像比较,通过线框模式观察,花瓣的细节被处理,但基本形状依旧保留。在实体模式下,从稍远处观察,除了茎干部分有简化后变形外,花瓣部分较难看出区别。由于三角形个数降低为原始模型三角形个数的三分之一,因而渲染速度有明显提升。
        
          
     

    将带约束度量方法与普通度量方法相比较,在简化后得到的三角形个数相当的情况下,渲染速度基本相同(如表3.1所示),但边数与顶点个数却相差越来越大。可见两种方法选择的简化部分有所不同。从线框与实体模式的效果图(见图3.4与图3.5)均能看到,普通度量方法中的枝桠与茎干部分被简化的断断续续甚至消失,而带约束度量方法能较好的保留这些连接部分。

    在简化比率(简化后三角形个数与原始个数相比)为0.5的设置下,使用带约束度量方法简化宾馆区三维仿真模型,得到的模型文件尺寸变小(如表3.2),在场景的外观上,能与原始场景保持较高的近似。经线框模式下的观察,被减掉的三角形主要集中在游泳池的水波和球场的靠背椅这些图形密集的地方(如图3.6、图3.7),而建筑物由于多为相互正交的简单平面,基本上不被简化。
        
         
           
          
            
           
             
                 

    3.5 本章小结

    大数据量仿真场景给图形硬件造成了很大的压力,而自动简化技术为处理这类模型提供了解决途径。本章在二次误差度量算法的基础上,引入边界约束条件和法向量限制,扩展了算法的应用范围。实验结果显示,这种方法在尽量保持模型外观的前提下,处理其细节部分,达到减少了模型三角形数量,从而生成场景中不同细节层次模型的目标。也能根据在网络上发布三维场景的需求,缩减原始的模型文件尺寸到合适的大小。从三维成像效果上看,比普通二次型度量简化方法,改进算法得到的结果在外观显示上与原始模型能保持更高的相似性,有较好的显示质量。

    展开全文
  • https://blog.csdn.net/beinlife/article/details/76180156 ORA-00001: 违反唯一约束条件 转载于:https://www.cnblogs.com/2016-cxp/p/10915259.html
  • Caused by: java.sql.BatchUpdateException:ORA-00001: 违反唯一约束条件 (SOLEX.SYS_C0012537) 2、分析 ①通过SYS_C0012537找到对应的表 select a.constraint_name,a.constraint_type,b.column_name,b.table_name ...
  • 我们通常会在Hibernate中设置好父表与子表的对应关系,并可实现在没有on delete cascade前提下,...那我们在直接删除汇总时,会遇到“ORA-02292: 违反完整约束条件 - 已找到子记录”。最简单的情形下,我们倒是可以先
  • 在执行oracal数据库数据删除时出现此错误提示,错误的意思是:您在没有删除子表记录的情况下,删除主表记录,触发了完整性约束错误。 解决方法: 在Hibernate 注解中使用CascadeType: cascade(级联) 级联在编写...
  • 最近使用oraclede impdp工具全库导入数据库时,在数据库里面使用... 批处理中出现错误: ORA-00001: 违反唯一约束条件 (GDXAORCL.SYS_C0055359) ; nested exception is java.sql.BatchUpdateException: 批处理中出现错
  • 关于用C++实现带约束条件的类型

    千次阅读 2014-07-05 13:25:44
    关于用C++实现带约束条件的类型 Stroustrup在《The C++ programming language》一书(第三版25.6.1节)中已提及用C++模板来实现带约束条件的类型。下面的代码示例了带范围约束条件的类型的实现,注意类型不占用...
  • GNSS 动态相对定位中常附加非线性的基线长约束进行解算,而 LAMBDA 方法只能处理无约束或者线性约束的模型,为了应用 LAMBDA 方法,应对非线性约束条件进行线性化近似。通常附加该约束后,模糊度固定成功率会提高,但对于...
  • 约束最优化方法 (一) 最优性条件

    千次阅读 2019-12-02 21:09:29
    本文首发于公众微信号-AI研究订阅号,...解这类问题有两种方法,一个是容许方向法、它是一种直接处理约束方法;另一个是罚函数法,它是将约束问题转变成一系列无约束问题,用无约束的极小点去逐渐逼近约束问题的...
  • 最近用Python3.6写了一个PSO算法处理高维约束问题,可是结果一直令人不满意,可能本人对算法还不够理解吧,等有了解决方法再来更新下篇文章,与大家一起分享进步。 。。。。 这个编辑器我也不太会使用,请原谅。。。...
  • Dubins方法简介 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 程序代码:Github 我们对...
  • 约束条件 null与default unique primary key auto_increment 修改初始值 foreign key 数据类型 数值类型: 整数类型: tinyint 默认有符号,[unsigned]代表无符号, 超出范围显示最大范围 。 语法...
  • 在数值流形方法中,对于材料的固定边界,一般采用罚函数的方法进行处理,即在固定边界上设置刚性弹簧约束其位移来实现固定约束条件的近似满足。罚函数法在理论上不是严格的固定约束处理方法,罚弹簧的布置与弹簧刚度的...
  • 约束优化方法(Constrained Optimization )

    千次阅读 2018-08-08 15:49:28
     在优化问题中,往往会有约束条件,即我们希望在约束条件下求得优化问题的最优解。对于等式约束的优化问题,我们可以直接应用拉格朗日乘子法去求取最优值;对于含有不等式约束的优化问题,则可以转化为在满足 KKT ...
  • ORA-00001: 违反唯一约束条件

    万次阅读 2010-05-13 22:24:00
    ,为了解决这种问题,oracle10g提供了一个错误记录日志表的功能,拿insert操作举例得用该功能可以将一个源记录集合中满足约束条件的记录插入目的表中, 而将违反约束的记录插入错误日志表,这样既充分利用了系统的资源,...
  • 粒子群算法优化代码,编写了目标函数并且该函数包括约束条件,可以方便初学者学习进行套用。生物机理:鸟群寻找湖泊 在函数中,有很多是无法求出最优解的 在这时,我们会采用软计算方法,而PSO算法,在软计算算法中...
  • Zoutendijk可行性方法属于约束极值问题可行方向法中的一种。与之前无约束极值问题中的最速下降法、牛顿法相像,可行方向法的策略是:从可行点出发,沿着下降的可行方向进行搜索,求出使目标函数值下降的可行点。 ...
  • 今天,在自己初出茅庐做项目时遇到急需处理情况,那就是在多人同时提交数据时,插入ID时,报错:违反唯一约束条件。我之前处理ID方法是采用ID+1 查询 再插入的方法,这种情况配合事务时就会报错。解决方法,采用序列...
  •  用python写带约束条件的差分进化的代码时,我参考了别人不带约束条件的代码。我解决的问题如下图所示。    我得到的结果如下    -14.98869与-15差一点,不过算是找到了f(x)的最小值。对应的向量也与(1,1...
  • 针对油田开发钻井剖面地层对比的具体特点和实际问题应满足的约束条件,提出了一种基于目标约束遗传算法的地层对比方法。该方法既能较好地完成常规地层对比,也可对因断层或地层尖灭等地质现象造成的地层缺失、错位等...
  • 在PI型广义预测控制(PIGPC)的基础上,使用Lagrange乘子法处理输入输出的约束条件,从而求得带约束处理的PI型广义预测控制。在线性系统中对控制量及输出量的约束可以转化为对控制增量的约束,通过添加松弛变量将简化的...
  • 在前两篇文章中,对JobSchedulerService的启动和Job的调度过程大致做了个梳理,通过前几篇的分析我们知道,要使得客户端Job被JSS调度执行,必须满足该Job在创建时所设置的约束,而这些约束何时满足,这将由...
  • 用hibernate级联删除时,总是报错违反外键约束条件,纠结了很久,查得,hibernate和Oracle两方不能同时处理数据完整性。解决方法如下:(方法1)将数据完整性约束交给Oracle处理,不用在Hibernate中设置数据完整性。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 158,214
精华内容 63,285
关键字:

处理约束条件的方法