小编Skl*_*vvz的帖子

教师时间表算法

这是我长期以来一直存在的问题.作为一名教师和程序员的儿子,我很早就想到了......但我仍然没有找到解决方案.

所以这就是问题所在.人们需要使用一些约束为学校创建时间表.这些通常分为两类:

理智检查

  • 老师不能同时教两门课
  • 学生不能同时学习两节课
  • 一些教师必须在一周内至少休息一天
  • 时间表应涵盖一周中的所有日期
  • 受试者X每周必须完全正常
  • ...

喜好

  • 每位教师的日程安排应尽可能紧凑(即教师应该连续一天工作,如果可能的话,没有暂停)
  • 休息日的教师应该能够在哪一天表达偏好
  • 从事兼职工作的教师应该能够表达是否在学校开始或结束时工作的偏好.
  • ...

现在,经过几年没有找到解决方案(同时学习一两件事),我意识到这就像一个NP难的问题.

它被证明是NP难吗?

有没有人知道如何破解这个东西?

看看这个问题让我想到了这个问题,以及在这种情况下遗传算法是否可用.然而,在保持理智检查规则的同时,很难改变可能性.我还不清楚如何区分不兼容的要求.


一个小的附录,以更好地说明问题.这适用于意大利学校风格的教室,所有学生都在不同的班级(例如:第1年A部分),教师在不同课程之间移动.同一班级的所有学生都有相同的时间表,并且无法选择参加哪些课程.

algorithm scheduling np-hard

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

在C#中使用泛型创建数学库

有没有可行的方法使用泛型来创建一个不依赖于选择存储数据的基类型的数学库?

换句话说,我们假设我想写一个Fraction类.该分数可以由两个整数或两个双精度或其他表示.重要的是基本的四个算术运算都有明确的定义.所以,我希望能够写Fraction<int> frac = new Fraction<int>(1,2)和/或Fraction<double> frac = new Fraction<double>(0.1, 1.0).

不幸的是,没有代表四种基本操作的接口(+, - ,*,/).有没有人找到一种可行的,可行的方法来实现这一点?

c# generics math interface

28
推荐指数
2
解决办法
2万
查看次数

你如何强制构造函数签名和静态方法?

有没有办法强制(子)类在C#或Java中使用具有特定签名或特定静态方法的构造函数?

你不能明显地使用接口,我知道它的用途有限.我发现它有用的一个实例是当你想强制执行一些设计指南时,例如:

例外
他们应该都有四个规范构造函数,但没有办法强制执行它.你必须依靠像FxCop(C#case)之类的工具来捕获它们.

运算符
没有合约指定可以求和两个类(在C#中使用operator +)

是否有任何设计模式可以解决这个限制?在未来版本的C#或Java中,可以在语言中添加哪些构造来克服此限制?

c# java oop language-features language-design

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

Web应用程序中的交互式Graphviz图

我正在尝试使用Python在我的Django Web应用程序中进行一些交互式图形可视化.我找到了Graphviz并且能够使用Pydot(Graphviz的点语言的Python接口)在我的应用程序上输出静态图形(作为.png图像).

但是,我希望使我的图形更具交互性,例如能够在将鼠标移到其上时突出显示节点,使节点可点击,将节点拖动到其他位置并放大图形.

有没有办法在Graphviz中做到这一点?或者一般来说,有没有办法为我的Django应用程序制作交互式图形而无需使用Flash?我不想使用闪存,因为我不熟悉它,因为我想要可视化一个相当大的数据集.

django web-applications graph graphviz pydot

24
推荐指数
4
解决办法
3万
查看次数

用于国际化的C#库?

有哪些库可以编写C#国际化应用程序?

应包含在库中的典型功能:

  • 验证国家特定数据(例如增值税号,电话号码,地址......)
  • 验证银行和财务坐标(例如信用卡号,IBAN,......)
  • 特定语言的功能(例如,数字到单词,数字,总结,......)
  • 特定于语言的内容过滤(例如,脏话过滤...)

Perl中此类库的一个示例是CPAN 的国际化/区域设置部分.

有哪些C#解决方案?


注意:我不是在寻找System.Globalization命名空间的介绍:)


注2:我应该假设没有可用的选项吗?是否有人有兴趣加入力量并创建一个?


注3:编辑以使问题出现在首页,希望得到更多答案.这不是一个很难的问题,堆叠器怎么可能永远不会做i18n?

c# internationalization

22
推荐指数
1
解决办法
6187
查看次数

操作必须使用可更新的查询.(错误3073)Microsoft Access

在某些Microsoft Access查询中,我收到以下消息:操作必须使用可更新的查询.(错误3073).我通过使用临时表来解决它,但我想知道是否有更好的方法.涉及的所有表都有一个主键.这是代码:

UPDATE CLOG SET CLOG.NEXTDUE = (
    SELECT H1.paidthru 
    FROM CTRHIST as H1
    WHERE H1.ACCT = clog.ACCT AND
    H1.SEQNO = (
        SELECT MAX(SEQNO) 
        FROM CTRHIST 
        WHERE CTRHIST.ACCT = Clog.ACCT AND 
        CTRHIST.AMTPAID > 0 AND
        CTRHIST.DATEPAID < CLOG.UPDATED_ON
    )
)
WHERE CLOG.NEXTDUE IS NULL;
Run Code Online (Sandbox Code Playgroud)

ms-access

21
推荐指数
2
解决办法
15万
查看次数

从单元测试自动生成类?

我正在寻找一种可以进行单元测试的工具,比如

IPerson p = new Person();
p.Name = "Sklivvz";
Assert.AreEqual("Sklivvz", p.Name);
Run Code Online (Sandbox Code Playgroud)

并自动生成相应的存根类和接口

interface IPerson         // inferred from IPerson p = new Person();
{
    string Name 
    { 
        get;              // inferred from Assert.AreEqual("Sklivvz", p.Name);
        set;              // inferred from p.Name = "Sklivvz";
    }
}

class Person: IPerson     // inferred from IPerson p = new Person();
{
    private string name;  // inferred from p.Name = "Sklivvz";

    public string Name    // inferred from p.Name = "Sklivvz";
    {
        get
        {
            return name;  // inferred from Assert.AreEqual("Sklivvz", …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing code-generation

19
推荐指数
1
解决办法
1200
查看次数

如何将旧版ASP应用程序转换为ASP.NET?

我们有一个大型ASP(经典ASP)应用程序,我们希望将其转换为.NET,以便进一步发布.继续使用ASP是没有意义的,因为它已经过时了,我们不想从头开始重写它(Joel Spolsky告诉你为什么).

有没有办法将它自动​​从ASP转换为ASP.NET?

asp.net code-conversion asp-classic

16
推荐指数
3
解决办法
4万
查看次数

使用单个鼠标和键盘控制多台PC

作为程序员,我发现很难将我的笔记本电脑和工作站与两个不同的输入设备一起使用,任何人都可以提出一个很好的解决方案,使用单个鼠标和键盘来控制我的两台机器

我不是在寻找虚拟机或RDP解决方案来在一台显示器中查看我的机器,

windows keyboard mouse desktop

16
推荐指数
2
解决办法
6045
查看次数

仅限Chrome中的错误:XMLHttpRequest无法加载文件网址请求的资源上没有"Access-Control-Allow-Origin"标头

我正在关注一本书的例子,因此代码非常简单.

这是代码:

jQuery.get("ajax_search_results.php",
           { s:search_query },
           write_results_to_page, "html");
Run Code Online (Sandbox Code Playgroud)

代码是ajax_search_results.php:

<div id="ajax_search_results">
 <ul>
 <li><a href="#">First result</a></li>
 <li><a href="#">Second result</a></li>
 <li><a href="#">Third result</a></li>
 <li><a href="#">More...</a></li>
 </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

这在Firefox中可以正常工作.但在Chrome中,我可以在JS控制台中看到错误消息:

XMLHttpRequest cannot load 
file:///C:/xampp/xampp/htdocs/snk/ajax_search_results.php?s=keyword. 
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'null' is therefore not allowed access.
Run Code Online (Sandbox Code Playgroud)

你能帮忙找出问题所在吗?

javascript google-chrome

16
推荐指数
2
解决办法
14万
查看次数