小编Odn*_*nxe的帖子

自定义模型绑定,模型状态和数据注释

我有一些关于自定义模型绑定,模型状态和数据注释的问题.

1)如果我的模型上有数据注释,那么在自定义模型绑定器中进行验证是否是多余的,因为这就是我认为数据注释的重点.

2)为什么我的控制器将模型状态视为有效,即使它不是,主要是我使Name属性为null或太短.

3)将自定义模型绑定器视为构造方法是否可以,因为这是他们提醒我的.

首先是我的模型.

public class Projects
{     
    [Key]
    [Required]
    public Guid ProjectGuid { get; set; }

    [Required]
    public string AccountName { get; set; }

    [Required(ErrorMessage = "Project name required")]
    [StringLength(128, ErrorMessage = "Project name cannot exceed 128 characters")]
    [MinLength(3, ErrorMessage = "Project name must be at least 3 characters")]
    public string Name { get; set; }

    [Required]
    public long TotalTime { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后我使用自定义模型绑定器来绑定模型的某些属性.请不要介意它只是试图让它运行然后重构它是快速和肮脏的.

public class ProjectModelBinder : IModelBinder
{
     public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) …
Run Code Online (Sandbox Code Playgroud)

validation asp.net-mvc modelbinders modelstate data-annotations

9
推荐指数
1
解决办法
1万
查看次数

基于百分比问题的蚁群优化算法或遗传算法

所以我最近对算法非常着迷.我最近实施了一个蚁群优化算法来解决TSP(非常有趣).现在我一直在寻找其他"问题"来解决.现在我想实现一个算法来解决涉及满足百分比要求的问题,并且低于任意限制.

例如:

用户输入:

1)限制 - 可用的能量.

2)"染色体"类型 - 蓝色(亚型 - 靛蓝等),红色(亚型 - 栗色等),黄色(亚型 - 浅黄色等) - 像蓝色这样的主要属性有一个"池"可供选择由不同的亚型组成,如靛蓝,浅蓝,海蓝等. - 每种子类型的颜色都有不同的成本.

3)"理想"解决方案所需类型的百分比(可以引入+/-%以允许更多种类). - 10%红色,30%蓝色,60%黄色.

输出:

1)满足两个要求的可能的最终解决方案,低于 - 但接近 - 所需成本并满足超类型的百分比要求.

所以举个例子.

这是一个非常简单的例子,显然它在现实中比这更复杂.

用户指定的成本应如下95 <=成本<= 105.

用户选择25%蓝色,25%黄色,50%红色.偏差+/- 5%

每种颜色的可用池

蓝色: 靛蓝:成本= 25; 海蓝:成本= 30; 海军蓝:成本= 75;

黄色: 浅黄色:成本= 20; 深黄色:成本= 30; 超级深黄色(lol):成本= 75;

红色: 栗色:成本= 20; 血红色:成本= 45; 鲜红色:成本= 55;

因此算法将运行并返回不同的组合.

组合1:靛蓝,深黄色,血红色:成本= 100:蓝色= 25%,黄色= 30%,红色= 55%.

组合2:海蓝色,浅黄色,血红色:成本= 105:蓝色= ~30%,黄色= ~20%,红色= ~50%

组合3:等等.

编辑:第二次编辑

输出将包含多组不同的组合.

例如,一个解决方案可能包含以下组合:

一个解决方案将由此表示:

组合1:成本= 20; 50%蓝色,25%黄色,25%红色;

组合2:成本= 30; 10%蓝色,50%黄色,40%红色; …

algorithm genetic-algorithm ant-colony

6
推荐指数
1
解决办法
861
查看次数